1封装的概念
私有化类中的成员属性
提供公开的get/set方法
2访问控制修饰符
public公开的
缺省的
protected受保护的
private私有的,私有的成员和方法,只能在本类中访问
3 get/set方法
get方法:获取成员变量的值
set方法:设置成员变量的值
通过eclipse可以自动生成get和set方法
二继承
子类继承父类,子类就拥有过了父类的成员变量和方法
1生活中的继承
如,子女继承父母的财产,子女就拥有了这些财产
生物
植物动物
爬行动物哺乳动物
猴类人类
男人女人
2代码中表现继承关系
子类,派生类
父类,超类,基类
创建子类对象的过程:
Animal的静态代码块
Bird的静态代码块
Animal的构造代码块
Animal的构造方法
Bird的构造代码块
Bird的构造方法
3方法的重写override
重载(overload)
4 final关键字
在Java中,声明类、属性和方法时,可使用final修饰符来修饰。final表示最终、不可改变,即为常量的意思。具体如下:
final标记的类不能被继承。
final标记的方法不能被子类重写。
final标记的变量(成员变量或局部变量)即为常量,必须在声明时赋值,且之后不能改变。
局部变量,形参
成员变量必须在声明时或在每个构造方法或对应语句块中显式赋值(不会被默认初始化),才能使用。
三抽象类
abstract
1抽象类
应用场景:当每个子类有自己独特行为的时候,父类不需要提供具体的实现,只用规定每个子类拥有这个能力就可以了。此时,父类可以声明为抽象类,该行为(方法)可以声明为抽象方法。
语法:
[修饰符] abstract class 类名{ …}
[修饰符] abstract 返回值类型 方法名([形参列表]);
理解:抽象类,抽象方法可以理解为“还没有竣工”的类,方法,需要其他类(子类)重新完善(重写)
2抽象方法
抽象方法是没有方法体的方法,抽象方法必须包含在抽象类中
抽象类可以包含或不包含抽象方法,也可以包含或不包含普通方法
抽象类不能直接实例化,如Ab a = new Ab();
但是仍然有构造方法,子类继承抽象类后,构造方法的执行顺序和普通类相同
抽象类可以被继承,此时子类必须全部重写父类的抽象方法,否则子类也必须声明为抽象类
可以声明抽象类类型的引用,把它作为方法形参,返回值类型等