慕课网JAVA第三季第一章学习时的一些经验总结

1.在第一章最后的图书租借系统中,我有迷惑为什么定义了全局变量但在main方法中不能调用的问题,原因在于,main方法是一个静态方法,静态方法只能调用静态成员变量,故不可以进行调用。

2.一个类在定义构造函数时,语法应该是 public 类名(参数列表){//可能存在的方法体}。如果定义的构造函数名和类名不同,回本认定为在定义方法,需要在前面添加返回值类型。
还有就是,如果父类定义了有参构造函数,要手动将无参构造函数写出来,否则会报错。原因参见之前提问中的回答。

1.在你的代码中,pikacar继承了cars (Java类名首字母记着要大写Pikacar/Cars,并且请遵守大驼峰形式PikaCar),父类cars重载(不是重写,谨记)了构造方法。
如果重载构造方法后没有手动将无参构造方法写出,此时在你的子类pikacar中,构造方法中调用super相关方法,此时super就代表了你父类的无参构造,而你的父类cars已经重载了构造方法并且未手动写出无参构造,因此编译器找不到你的无参构造方法,就会报错。
2.关于父类构造和子类的构造的关系,无关联,如果非要说关联的话就是当你创建子类对象时会首先调用父类的无参构造

3.在今天,我我学到了反复判断的方法,在昨天晚上,由于我不知道如何在判断失败后返回判断起始处,导致我卡了大半天都没有把第三季第一章最后的结尾练习给做完。下面列出语法
其中最关键的就是Scanner输入语句的位置,在早上别人告知我需要通过循环语句来实现重复判断时,我将Scanner语句放在了循环体外,这就导致了程序虽然循环了,但是作为判断依据的输入无法更新,所以反复输出else内的输出语句。只要将Scanner放在循环体内就可以解决问题。

补充一下静态方法和非静态方法的区别

此内容来自https://zhidao.baidu.com/question/1433773942389340379.html
静态方法和非静态方法的区别总结如下:
1、静态方法属于类所有,类实例化前即可使用;
2、非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员;
3、因为静态方法在类实例化前就可以使用,而类中的非静态变量必须在实例化之后才能分配内存;
4、static内部只能出现static变量和其他static方法!而且static方法中还不能使用this等关键字,因为它是属于整个类;
5、静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁;
6、静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存。
主要区别:静态方法在创建对象前就可以使用了,非静态方法必须通过new出来的对象调用。
如:
public class Per{
public static String getType(){
return “人类”;
}
public String getName(){
return “张三”;
}
}
上面这个类中的getType方法,在没有new对象前这就可以这样用:
String type=Per.getType();//type=“人类”;
而getName方法则不能这样使用,编译都不会通过
getName必须这样:
Per p=new Per();
String name=p.getName();//name=“张三”;
当然,getType方法也可能通过对象调用:
String type=p.getType();//type=“人类”;

暂时就这些,接着学习吧qwq

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值