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{
}