一个类什么都不写,他也存在一个方法
与类名相同,没有返回值,也不能写void
无参构造
使用new关键字,本质实在调用构造器;
用来初始化值
有参构造
有参构造:一旦定义了有参构造,无参就必须显示定义
封装(数据隐藏 保护数据)
通常应该禁止直接访问一个对象中数据的实际表现,这称为数据隐藏, 通常有get/set方法获取数据,给数据赋值
继承
子类继承父类的(非私有的属性)
所有的类都间接或者直接继承Object
this 指向自己类
super 调用父类的无参构造方法,必须在构造方法的第一个
super和this不能同时调用构造方法
重写
从父类继承来的东西不合适,或者不满足,要重新修改一下父类方法
子类重写父类的方法
方法名必须相同
参数列表必须相同
抛出的异常范围 能缩小不能扩大
子类的方法和父类的方法必须一致,方法体不同
final 不可变
被final修饰的变量不能被改变,称为常量
被final修改的方法不能重写
被final修饰的类不能被继承
多态
父类的引用指向自己的子类对象;
父类的引用也可以接收自己的子类对象。
2.多态的前提
必须是类与类之间的关系,要么是继承(extends),要么是实现(implements),通常还有一个前提,就是存在覆盖(重写)
static 方法属于类,不属于实例
final 常量
private 方法不能被重写
抽象
现实没有的东西
在java中只声明不实现
类中如果有抽象方法,那么类必须是抽象方法
特点
- 抽象类不可以创建对象
- 抽象类子类必须重写,这个类必须重写父类的抽象方法,否则子类也必须是抽象类
通过抽象类可以强制要求子类中必须有哪些方法
abstain 修饰方法,这个方法就是一个抽象方法,抽象方法没有方法体直接;结束
接口
接口是特殊的抽象类
接口的方法是抽象方法
接口用interface来生名
类只能单继承,接口支持多实现
接口的变量都是静态的常量的方法