类的继承与多态性
1. 面向对象的三大特征:继承,多态,封装
继承:可以复用一些定义好的类,减少代码冗余
语法:public class extends object{};
多态:可以动态调整对象的调用,降低对象间的依存关系
封装:把对象的属性隐藏在对象的内部,不容许外部直接访问与修改
2. 方法的重写与super关键字
子类可重写或覆盖父类的某个方法,且方法声明应与父类的方法声明一样
Super可用在重写,构造中调用父类方法。
3. 封装:设置器与访问器
成员变量语方法:用private修饰,实现分装
设置器:以set为前缀,以属性名为后缀,一般使用public修饰
访问器:以get或is为前缀,以属性名为后缀
4. 多态:指同一操作在不同的对象中有不同的寓意解释。
可分:数组多态与参数多态
5. 接口与抽象
A. 使用abstract定义的类为抽象类,定义的方法为抽象方法,抽象方法没有方法体,只要一类中方法定义为抽象方法,此类必须为抽象类
B. 抽象类被继承后必须重写该类的所有方法,并定义方法体
语法格式:
Public abstract class(){
Abstract void test();
}
C. 接口是抽象的延伸,接口中的所有方法没有方法体。
语法格式:public interface draw(){ void set(); }
在接口中定义的任何成员变量默认都是static与final的,定义的方法必须是public或abstract的
一个类实现一个接口用implements关键字 如:public class C1 extends C implements C2{ }
A. 一个类可实现多个接口,而不同多重继承。
例子:实现单例模式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16一、饿汉式 public class Singleton{ private int i; private static final Singleton Instance =new Singleton(); private Singleton(){ } public void inc(){ i++; } public int getI(){ return i; private static Singleton getInstance(){ return Instance; } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19二、懒汉式 public class Singleton{ private int i; private static final Singleton; private Singleton(){ } public void inc(){ i++; } public int getI(){ return i; } private static synchonized Singleton getInstance(){ if(instance==null) Instance =new Singleton(); return Instance; } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14public class Test{ public static void main(String[] args ){ Singleton st=Singleton.getInstance(); Singleton st2=Singleton.getInstance(); st.inc(); st2.inc(); System.out.println(Singleton.getInstance().getI()); } }
最后
以上就是魁梧小海豚最近收集整理的关于类的继承与多态性的全部内容,更多相关类内容请搜索靠谱客的其他文章。
发表评论 取消回复