javase类
一个类里面只有属性和方法
类就是一个模型,模块化,抽象化,比如你写一个学生类,给他属性,属性在类里最好不要实例化(不要赋值,在调用它在赋值,类似于一个模板,人可以根据自己的需求进行赋值)。

使用new关键字,本质是在调用构造器 (只有new了,就会生成无参构造)用来初始化值
有参构造:一旦定义了有参构造,无参构造必须显示定义
alt + insert 生成构造器(constructor)


断点走流程的时候,走到一步赋值流程,当前处于这一行的时候,属性还未赋值,当走完这一行之后,赋值完成。

属性私有 private


println是一个标准的重载的实现。
在java中所有的类都默认,直接或者间接的继承了Object类,(子类继承了父类,就可以使用父类非私有的方法,这就是为什么我们明明没有定义一些方法任然可以用的原因
父类Object中有很多定义好的方法) 父类私有的属性和方法无法被子类继承

java中只有单继承,没有多继承(一个儿子,只能有一个父亲)
快捷键 ctrl+H 可以看类的结构
super 与 this对比
一个代表父类,一个代表当前类
如果有参数传递,而属性名之前没有this或者super调用,那么输出的属性值就是传进来参数的值

解释上一张图:super和this不能同时调用构造方法的原因是:他们调用构造方法的时候都必须写在第一行,第一行只有一行不同同时调用。

子类调用了父类的无参构造方法
重写都是方法的重写,与属性无关

重写不能是静态的方法

静态的: 

浙公网安备 33010602011771号