对象:用来描述客观事物的一个实体;由一组属性和多个方法构建。
class关键字
定义在类中的变量和方法叫做类的成员变量和成员方法。
创建包用来管理类。
构造方法重载:在一个类中同时构造多个同名的不同构造方法,区别在参数列表不同。
this关键字代指当前类的类名。
系统默认在类中提供无参构造方法,一旦构造带参构造方法,系统不在提供无参构造方法,可以根据需要手动构造。
面向对象三大特征之一 封装
将类的信息隐藏在类的内部,不允许外部程序直接访问,通过提供类的方法来实现对隐藏信息的访问和。
实现封装:
使用privat修饰使其私有化,创建共有的getter和setter方法,并在getter和setter中加入属性语句。
面向对象三大特征之一 继承
extends关键字;单根继承: 一个子类只能有一个父类;继承可以实现代码重用。
super关键字 用来指代父类类名;super();在子类构造方法中调用时必须是第一句。
子类只继承部分父类属性和方法
访问权限控制
static修饰符
static块
运行时会按顺序加载多个静态块,每个静态块代码只会被执行一次
static变量
类的成员变量包括
类变量(成员变量):被static修饰;在内存中只有一个空间;在类内部任何方法可以直接访问静态变量;其它类中可以通过类名访问。
实例变量:没有被static修饰;每创建一个实例变量就为实例变量分配一次内存空间,实例变量可以在内存中被多次分配,互不影响。
方法的重写:
子类重新编写继承于父类的方法,父类的构造方法不能被子类继承,自然也不会被重写。
重写方法规则:
和父类中可以被继承的方法表现形式一致,方法体不同;
重写后的方法访问权限不能高于父类中的方法;
重写不会改变方法的状态(静态或者非静态);
不能抛出比父类更多的异常;
类可以定义与父类同名的静态方法,以便在子类中隐藏父类的静态方法
向上转型
<父类类型> 引用变量名 = new 子类类型();
改用父类类型来修饰新创建的子类变量,这样的变量在调用方法时是子类中的方法(继承或者重写的方法),并且不能调用子类专有的方法
父类引用指向子类对象,自动进行类型转换