本质:以类的方式组织代码,以对象的组织封装数据
三大特性: 封装:高内聚,低媾和,关键即为:属性私有,get/set存取 继承:1.extends 2.this用来调用当前类的方法或变量,super用来调用当前类父类的方法或变量(不能是private)3.当子类的构造器被new调用,父类的构造器也会被(先)调用。默认的super(); 多态:-
方法的重写(注意与方法的重载区分)前提是存在继承关系,名字和参数需要一样,重写只和非静态方法有关,重写需要是public(范围可扩大不能缩小)
-
父亲的引用指向子类 例如 List list=new ArrayList<>(); 对象能执行哪些方法,主要看左边的类型,和右边关系不大
-
(a instanceof b) 判断两个对象之间是否有继承关系,返回true or false
-
类型转换
一旦定义了有参构造,必须显式定义无参构造(即空构造器)。
创建对象的内存分析 抽象类:用abstract修饰
- 抽象类的所有方法必须要由其子类实现,除非其子类也是抽象的。
- 抽象方法只有方法名字,没有方法实现
- 不能被new,只能用子类去实现它
- 抽象类中可以写普通的方法
- 抽象方法必须在抽象类中
只有规范,自己不能写方法
类通过implements实现接口,若要实现某接口,必须要重写接口中的方法。
implement比起extends的优势在于可以实现多个接口。
一个java类中可以有多个class类,但只能有一个public类
- 静态内部类:定义在别的class中
- 局部内部类: 定义在方法中
- 匿名内部类:定义在方法中,没有类的名称,必须借助接口或者父类
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)