欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
1 继承
 
1.1概念
 
继承是面向对象最显著的一个特征
 
继承是从已有的类中派生出新的类,新类能吸收已有类的数据属性和行为,并扩展新的能力。
 
Java继承是会用已存在的类的定义作为基础建立新类的技术
 
新类的定义可以增加新的数据或者新的功能,也可以使用父类的功能,但不能选择性的继承父类(超类/基类)
 
这种继承使得复用以前的代码非常容易,能够大大的缩短开发的周期,降低开发费用。
 
1.2 特点
 
使用extends关键字来表示继承关系
 
相当于子类把父类的功能复制了一份
 
Java只支持单继承
 
继承可以传递(爷爷/儿子/孙子这样的关系)
 
父类的私有成员由于私有限制访问,所以子类不能使用父类的私有资源
 
继承多用于功能的修改,子类可以在拥有父类功能的同时,进行功能拓展
 
像是is a的关系
 
1.3 练习:继承入门案例
 
创建包: cn.tedu.oop2
 
创建类: TestExtends.java
 
package cn.tedu.oop2;
 
/*本类用于继承的入门案例*/
 
public class TestExtends {
 
    public static void main(String[] args) {
 
        //5.分别创建3个类的对象
 
        Animal a = new Animal();
 
        Cat c = new Cat();
 
        MiaoMiao m = new MiaoMiao();
 
        //6.利用对象调用方法进行测试
 
        /*3.继承相当于是子类将父类的功能复制了一份
 
        继承还具有传递性,爷爷的功能会传给爸爸,爸爸的功能会传给孙子*/
 
        a.eat();//爷爷类使用自己的方法
 
        c.eat();//爸爸类可以使用从爷爷类中继承过来的方法
 
        m.eat();//孙子类也可以使用从爷爷类中继承过来的方法
 
    }
 
}
 
/*1.我们通过extends关键字建立子类与父类的继承关系,格式:子类 extends 父类*/
 
/*2.Java只支持单继承,一个子类只能有一个父类,但是一个父类可以有多个子类*/
 
//1.创建小动物类--爷爷类
 
class Animal{
 
    //4.添加爷爷类的普通方法
 
    public void eat(){
 
        System.out.println("小动物Animal吃啥都行——");
 
    }
 
}
 
//2.创建小猫类--爸爸类
 
/*6.继承是is a的关系,比如小猫是小动物,MiaoMiao是一只小猫
 
* 继承要求子类必须是父类的一种下属类型,依赖性非常强,强耦合*/
 
class Cat extends Animal{
 
    //7.定义爸爸类中的属性
 
    int a = 10;//普通属性
 
    private int b = 100;//私有属性
 
}
 
//3.创建MiaoMiao类--孙子类
 
class MiaoMiao extends Cat{
 
    /*4.子类可以拥有自己独有的方法,实现了功能的拓展,青出于蓝而胜于蓝*/
 
    //8.定义孙子类的方法
 
    public void studyJava(){
 
        System.out.println("正在学Java");
 
        System.out.println(a);
 
        /*5.子类继承了父类以后,可以使用父类的所有非私有资源
 
        * 注意:这个私有资源由于被private修饰,所以没有访问权限*/
 
        //System.out.println(b);//不可以,私有资源被限制访问
 
    }
 
}
 
2 super
 
我们可以把super看作是父类的对象:Father super = new Father();
 
1.当父类的成员变量与子类的变量同名时,使用super指定父类的成员变量
 
2.使用super在子类构造方法的第一行调用父类构造方法的功能
 
super();–调用的是父类的无参构造
 
super(参数);–调用的是父类对应参数的构造方法
 
注意:在构造方法里,出现的调用位置必须是第一行

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h64925.shtml