对Java三大特性有感

it2023-09-05  63

Java三大特性封装、继承、多态如何理解?

这三大特性支撑了面向对象的理论体系,是面向对象的核心。

一、封装

对现实世界的任何物的共性进行抽象。例如人有名字、身份证号,性别等属性。 然后将人封装成一个类,在java 中用class关键字标识。代码如下:

public class People { private int age;//年龄 private String identityNum;//身份证号 private boolean sex;//性别 private String nickname;//昵称 private String name;//名字 public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getIdentityNum() { return identityNum; } public void setIdentityNum(String identityNum) { this.identityNum = identityNum; } public boolean isSex() { return sex; } public void setSex(boolean sex) { this.sex = sex; } public String getNickname() { return nickname; } public void setNickname(String nickname) { this.nickname = nickname; } public String getName() { return name; } public void setName(String name) { this.name = name; } }

代码中将人的属性用private 关键字修饰,表示此属性只能够在内部类中访问。同时提供了set开头的属性函数将修改属性的接口开放。 以上仅仅是封装的冰山一角,还有很多封装的写法,本文仅仅属于敲门砖,利用上面的代码希望读者能更清晰的认识封装。如果想深入了解,也可以网上搜索java封装,大把的资料供参考。

二、继承

java中继承使用extands关键字,语法如下:

class A extands B{ }

其中B称为父类或者基类,A称为B的子类。 继承的特点 1、子类无法拥有父类的private定义的方法和属性 2、Java是单继承,也就是一个子类只能继承一个父类。 3、Java虽然是单继承,但是可以多重 继承,所谓多重继承,即A继承B,B可以继承C。 4、子类可以定义自己的属性和方法 5、子类可以重写父类的方法。

super关键字

1、super在构造函数中的使用 直接上代码

public class People { private int age;//年龄 private String identityNum;//身份证号 private boolean sex;//性别 private String nickname;//昵称 private String name;//名字 People() { System.out.println("people的无参构造函数"); } People(String nickname) { this(); this.nickname = nickname; } People(String nickname, int age) { this.nickname = nickname; this.age = age; } } public class Boy extends People { public Boy(String nickname) { super(nickname); } }

其中Boy继承People,在Boy的构造函数中使用super调用了People的带一个参数的构造函数。 可以看出,子类构造函数中可以使用super指定调用父类的构造函数。 2、super在方法中的使用

代码如下

父类 public class People { People() { System.out.println("people的无参构造函数"); } void eat() { System.out.println("People eat()"); } } 子类 public class Boy extends People { @Override void eat() { super.eat(); System.out.println("Boy eat"); } }

运行结果如下

三、多态

多态是面向对象过程中最为重要也是最灵活的一部分。 多态存在的三个必要条件: 1、继承 2、重写 3、父类引用指向子类的对象

class Parent{ Parant(){}//无参构造函数 } class Child extands Parent{ Child(){}//无参构造函数 } Parent p;//p引用的引用类型为Parent p = new Child();//创建一个Child对象,并将此对象的引用赋值给p,表示p引用所指向的对象类型为Parent,而Child是继承Parent,所以Child可以看做一个特殊的Parent。
最新回复(0)