Java面向对象的四个特征

Java面向对象的几个特征分别为:封装,继承,抽象,多态。

1封装:

 这里的封装主要是针对类的封装。一个业务逻辑的实现往往需要多个对象和方法去实现,封装旨在对不同对象的方法进行封装处理,即不同对象的方法处在一个单独的对象类中。把对象的全部属性和全部服务结合在一起,形成不可分割的独立的单位(对象);信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留有限的对外接口使之与外部发生联系。

封装的优点:使对象以外的部分不能随意存取对象内部的数据,有效避免交叉感染,使软件错误局部化,减少查错和排错的难度。

2 继承:

  使用一个特殊类拥有其全部的属性和服务,作为父类,他可以有多个子类,一般的类去实现,比如:父类为 人,子类可以是 男人和女人,男和女都继承于父类,但是一个子类只能继承一个特殊类,不能继承多个。但一个一般类可以实现多个接口。子类继承父类的时候,可以重写父类的方法,也可以有自己的方法。

3 抽象:

Java中抽象可以是抽象类、抽象方法,使用abstract修饰。其中抽象类中可以有抽象方法和非抽象方法,抽象方法。据有抽象方法的类一定是抽象类。抽象方法一般只有方法名,没有方法的实现。如:public abstract void test(); 且抽象方法的权限修饰必须是protected public 的,因为子类在继承抽象父类的时候,必须要实现父类所有的抽象方法。

4 多态:

具有三个条件:1)继承 2)重写 3)父类对象引用指向子类对象

多态优点:

扫描二维码关注公众号,回复: 2332895 查看本文章

1.可替换性(substitutability)。多态对已存在代码具有可替换性。 
2.可扩充性(extensibility)。多态对代码具有可扩充性。 
3.接口性(interface-ability)。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。 
4.灵活性(flexibility)。它在应用中体现了灵活多样的操作,提高了使用效率。 
5.简化性(simplicity)。多态简化对应用软件的代码编写和修改过程。

以下为一个以上特征的例子:

package com.shxt.test.three;


public class TestAbstract {
public static void main(String[] args) {
//多态
Person p = new Man();
//抽象类调用先看子类中有没有重写父类中的方法,如果没有直接调用父类的方法
p.setName("asdfasd");
//为子类中重写的父类方法
p.walk();
System.out.println(p.getName() + " " + p.getClass());
//多态
Person p1 = new Man();

p1.test1();


}
}


abstract class Person {
public String name;
public int id;
static int i;


public String getName() {
return name;
}


public void setName(String name) {
System.out.println("父类");
this.name = name;
}


public int getId() {
return id;
}


public void setId(int id) {
this.id = id;
}


public abstract void walk();
public static void test1() {
// int i=0;
i = 1;
System.out.println(i);
System.out.println("我是父类中方法...");
}
}


class Man extends Person {
static int i;
    public String name;
   
@Override
public void walk() {
System.out.println("man walk");


}


public void test() {
System.out.println("test");
}


public static void test1() {
// int i=0;
i = 1;
System.out.println(i);
System.out.println("我是子类中方法...");
}

}

猜你喜欢

转载自blog.csdn.net/qq_29750461/article/details/80871818
今日推荐