这两天懒了……
开始面向对象了,可惜我还没对象,只能new一个。
好吧。面向对象,理解其概念,就是什么都是找别人来,而不是自己做。
方法的定义格式:
public 返回值类型 方法名(参数) 目前来说,定义在封装类中的方法,不需要static,也就是存储数据的类中不加static。
如果在封装类的方法中使用属性,那么属性值是谁,在调用该方法时,就用谁的属性值。
私有属性:private 提供对外访问的get set方法 快捷键alt+shift+s r
this关键字,含义:当前对象
区分成员变量和局部变量: 局部变量:变量名优先找局部变量,如果找不到,再找成员变量。
继承&抽象类
面向对象的重点:
1、关于属性查找(补充): 当变量名直接写的时候,默认先从局部变量位置找,找不到去成员变量找,在没有,就去父类成员变量找。
2、java中,在创建子类对象时,先默认创建父类对象,每个子类对象对父类属性都有完整的一份,且独享
3、this.是跳过局部变量, super是跳到父类
4、方法的重写: 方法名相同,子类方法覆盖父类方法,必须保证权限大于等于父类权限
5、抽象类 abstract class 类名{}
抽象方法定义:public abstract 返回值类型 方法名(参数列表) 抽象类不能直接创建对象 因为调用抽象方法没有意义
这一部分我记的有个面试题来着,记不清了
抽象类的特点:
1、抽象类和抽象方法都需要呗abstract修饰。抽象方法一定要定义在抽象类中。、
2、抽象类不可直接直接创建对象,因为调用抽象方法没有意义
3、只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类
细节问题;
抽象类一定是一个父类,因为是不断抽取来的
抽象类中可以不定义抽象方法,那这个抽象类的存在仅仅是不让该类创建对象
抽象关键字abstract不可以和private final static共存