Java之面向对象特性

面向对象共有三个特征:封装继承多态


 一:封装表现

1、方法就是一个最基本封装体。

2、类其实也是一个封装体。

 从以上两点得出结论,封装的好处:

 1、提高了代码的复用性。

 2、隐藏了实现细节,还要对外提供可以访问的方式。便于调用者的使用。这是核心之一,也可以理解为就是封装的概念。

 3、提高了安全性。


二:继承的好处

1、继承的出现提高了代码的复用性,提高软件开发效率。

2、继承的出现让类与类之间产生了关系,提供了多态的前提。

 1、在Java中,类只支持单继承,不允许多继承,也就是说一个类只能有一个直接父类,例如下面这种情况是不合法的。

     class A{} 
     class B{}
     class C extends A,B{}  // C类不可以同时继承A类和B类

 2、多个类可以继承一个父类,例如下面这种情况是允许的。

     class A{}
     class B extends A{}
     class C extends A{}   // 类B和类C都可以继承类A

3、在Java中,多层继承是可以的,即一个类的父类可以再去继承另外的父类,例如C类继承自B类,而B类又可以去继承A类,这时,C类也可称作A类的子类。下面这种情况是允许的。

     class A{}
     class B extends A{}   // 类B继承类A,类B是类A的子类
     class C extends B{}   // 类C继承类B,类C是类B的子类,同时也是类A的子类

三:重写父类方法

super调用父类成员或方法

//覆盖父类的来电显示号码功能,并增加自己的显示姓名和图片功能
	public void showNum(){
		//调用父类已经存在的功能使用super
		super.showNum();
		//增加自己特有显示姓名和图片功能
		System.out.println("显示来电姓名");
		System.out.println("显示头像");
	}

重写需要注意的细节问题:

子类方法覆盖父类方法,必须要保证权限大于等于父类权限。

写法上稍微注意:必须一模一样:方法的返回值类型 方法名 参数列表都要一样。

四:多态

配合继承与方法重写提高了代码的复用性与扩展性;如果没有方法重写,则多态同样没有意义。

多态是继封装、继承之后,面向对象的第三大特性。

现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态。

Person p1 = newStudent();




猜你喜欢

转载自blog.csdn.net/mmake1994/article/details/80250946