文章目录
- [一、面向对象特征二 ------继承性](#一、面向对象特征二 ------继承性)
-
- 1.继承性的好处
- [2.继承性的格式 class A extends B{}](#2.继承性的格式 class A extends B{})
- 3.Java中关于继承性的规定。
- 4.java.lang.Object类
- 5.如图所示
- 二、代码
-
- [1.父类的父类 Creature](#1.父类的父类 Creature)
- [2.父类 Person](#2.父类 Person)
- [3.子类 Studengt](#3.子类 Studengt)
- 4.测试类ExtendsTest
提示:以下是本篇文章正文内容,下面案例可供参考
一、面向对象特征二 ------继承性
1.继承性的好处
1.减少了代码的冗余,提高了代码的复用性。
2.便于功能的扩展。
3.为之后多态性的使用,提供了前提。
2.继承性的格式 class A extends B{}
A:子类、派生类、subclass
B:父类、超类、基类、superclass
2.1 体现:一旦子类A继承父类B以后,子类A就获取了父类B中声明的结构,属性 方法。 特别的,父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类中私有的结构。
只有因为封装性的影响,使得子类不能直接调用父类的结构而已。
2.2 子类继承父类之后,还可以声明自己特有的属性或方法,实现功能的扩展。子类和父类的关系,不同于子集和集合的关系。
extends :延展、扩展。
3.Java中关于继承性的规定。
1.一个类可以被多个子类继承。
2.Java中类的单继承性,一个类只能有一个父类。
3.子父类是相对的概念。
4.子类直接继承的父类,称为 :直接父类。间接继承的父类称为:间接父类。
5.子类继承父类以后,就获取了直接父类以及所有间接父类中声明的属性和方法。
4.java.lang.Object类
1.如果我们没有显式的声明一个类的父类的话,则此类继承于java.lang.Object类。
2.所有的java类(除java.lang.Object类之外),都直接或间接的继承于java.lang.Object类。
3. 意味着,所有的java类具有java.lang.Object类声明的功能。
5.如图所示
二、代码
1.父类的父类 Creature
代码如下(示例):
c
public class Creature {
public void breath()
{
System.out.println("呼吸");
}
}
2.父类 Person
代码如下(示例):
c
public class Person extends Creature{
String name;
private int age;
/**
* @return the age
*/
public int getAge() {
return age;
}
/**
* @param age the age to set
*/
public void setAge(int age) {
this.age = age;
}
public Person()
{
}
public Person(String name,int age)
{
this.name = name;
this.age = age;
}
public void eat()
{
System.out.println("吃饭");
}
public void sleep()
{
System.out.println("睡觉");
}
}
3.子类 Studengt
cpp
public class Studengt extends Person{
//String nameString;
//int age;
String majorString;
public Studengt() {
}
public Studengt(String name,int age,String majorString) {
this.name = name;
//this.age = age;
setAge(age);
this.majorString = majorString;
}
/*
* public void eat() { System.out.println("吃饭"); }
*
* public void sleep() { System.out.println("睡觉"); }
*/
public void study()
{
System.out.println("学习");
}
}
4.测试类ExtendsTest
cpp
public class ExtendsTest {
public static void main(String[] args) {
Person p1 = new Person();
//p1.age = 1;
p1.eat();
Studengt s1 = new Studengt();
s1.sleep();
s1.setAge(18);
s1.breath();
System.out.println(s1.getAge());
Creature creature = new Creature();
creature.breath();
}
}