19、java类的继承性

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_18077275/article/details/89762591

1、子类的继承性

所谓子类继承父类的成员变量作为自己的一个成员变量,就好象它们是在子类中直接声明一样,可以被子类中自己定义的任何实例方法操作。
所谓子类继承父类的方法作为子类中的一个方法,就象它们是在子类中直接定义了一样,可以被子类中自己定义的任何实例方法调用。 
2、子类和父类在同一个包中的继承性

如果子类和父类在同一个包中,那么,子类自然地继承了其父类中不是private的成员变量作为自己的成员变量,并且也自然地继承了父类中不是private的方法作为自己的方法,继承的成员变量或方法的访问权限保持不变。
 
3、子类和父类不在同一个包中的继承性

如果子类和父类不在同一个包中,那么,子类继承了父类的protected、public成员变量做为子类的成员变量,并且继承了父类的protected、public方法为子类的方法,继承的成员或方法的访问权限保持不变。有约的不继承。
 
4、关于instanceof运算符

instanceof运算符是Java独有的运算符号。
instanceof是双目运算符,其左面的操作元是对象,右面的操作元是类,当左面的操作元是右面的类或子类所创建的对象时,instanceof运算的结果是true,否则是false。 

5、实例代码

src\com\blue\test\Tom.java

package com.blue.test;

import com.blue.main.Person;

public class Tom extends Person{
    public void test(){
        speak();
    }
}

src\com\blue\main\Demo21.java

package com.blue.main;

public class Demo21 {

    public static void main(String[] args) {
        Person person = new Person();
        person.speak();
    }

}
src\com\blue\main\Man .java

package com.blue.main;

public class Man extends Person{
    
    public void test(){
    }
}

src\com\blue\main\Person .java

package com.blue.main;

import com.blue.test.Tom;

public class Person {
    
    public void speak(){
        Tom tom = new Tom();
        if(tom instanceof Tom){
            System.out.println("yes");
        }
        
        if(tom instanceof Person){
            System.out.println("yes");
        }
    }

}

src\com\blue\main\Woman .java

package com.blue.main;

public class Woman extends Person{

}

猜你喜欢

转载自blog.csdn.net/qq_18077275/article/details/89762591