Java学习-类和对象
先有对象后有类 类是一种抽象的数据类型 类是一个模板
对象是一个具体的实例 必须使用new关键字创造对象
学编程就是对世界更好的建模
静态的属性 动态的方法
OOP(Object-Oriented Programming)
本质:以类的方式组织代码,以对象的方式组织(封装)数据
面向对象的三大特性:封装、继承、多态
封装:属性私有,get/set,为了实现高内聚低耦合
继承:对一批类的抽象 extands 子类是父类的扩展 Java只有单继承(无多继承)
多态:有继承关系 子类重写父类的方法 父类引用子类的对象
封装作用:
1、提高程序的安全性,保护数据
2、隐藏代码的实现细节
3、统一接口
4、增加系统可维护性
静态方法不需要实例化,非静态方法需要先实例化再调用。栈 堆(方法区)
私有的属性和方法无法被继承
一般重写有参构造时,必须先把无参构造加上(一般默认会隐藏)
方法重载 参数列表不同 方法名相同+参数列表相同才是同一个方法
调用构造器必须在第一行,且new一个子类时,会先加载父类的无参构造。
重写方法 使用@Override注解:子类的方法和父类必须要一致,方法体不同!
1、需要有继承关系,子类重写父类的方法!
2、方法名必须相同
3、参数列表必须相同(否则为重载)
4、修饰符:范围可以扩大 public>protected>default>private
5、抛出的异常:范围可以被缩小,但不能放大
父类的引用指向子类
子类重写了父类的方法,执行子类的方法
多态:
1、多态是方法的多态,属性没有多态!
2、父类和子类,必须有联系 类型转换异常!ClassCastException!
3、存在条件:继承关系,方法需要重写,父类引用指向子类对象!
静态方法是属于类的,不属于实例,不可重写!
常量final修饰的,不可重写!
私有方法private修饰的,不可重写!

浙公网安备 33010602011771号