java 子类与父类的类型转换:

/* 子类与父类的类型转换:
1:如果子类对父类的方法有覆写,并且子类的实例赋值
给父类的引用,通过这个引用来调用这个覆写的方法
的时候,调用的是子类.
2:父类的引用不能调用子类的特有方法和属性;
3:如果父子类有同名的属性,那么父类指向子类的实例的
引用,调用这个属性的时候调用的还是父类的.
*/
//创建父类 ; Teacher老师
class Teacher{

String name;
//3:
//String name = “亮哥”;

int age;
//建立方法 ;teach教育
public void teach(){
System.out.println(name+“在教课”);
}
}

class JavaTeacher extends Teacher{
//3:
//String name = “王磊”;
//覆写
public void teach(){
System.out.println(name+“在教Java课”);
}
//Reading阅读
public void Reading(){
System.out.println(name+“在图书馆看书”);
}
}

public class TestTeacher{
public static void main(String[] args){
//子类自动转换成父类’;JavaTeacher jt = new JavaTeacher();

		Teacher jt = new JavaTeacher();
		jt.name = "李伟";
		jt.teach();
		//2:父类的引用不能调用子类的特有方法和属性;
		//jt.Reading();
		//3:
		//System.out.println(jt.name);
	}

}
1:

java 子类与父类的类型转换:_第1张图片
2:
java 子类与父类的类型转换:_第2张图片
3;
/* 子类与父类的类型转换:
1:如果子类对父类的方法有覆写,并且子类的实例赋值
给父类的引用,通过这个引用来调用这个覆写的方法
的时候,调用的是子类.
2:父类的引用不能调用子类的特有方法和属性;
3:如果父子类有同名的属性,那么父类指向子类的实例的
引用,调用这个属性的时候调用的还是父类的.
*/
//创建父类 ; Teacher老师
class Teacher{

//String name;
//3:
String name = “亮哥”;

int age;
//建立方法 ;teach教育
public void teach(){
System.out.println(name+“在教课”);
}
}

class JavaTeacher extends Teacher{
//3:
String name = “王磊”;
//覆写
public void teach(){
System.out.println(name+“在教Java课”);
}
//Reading阅读
public void Reading(){
System.out.println(name+“在图书馆看书”);
}
}

public class TestTeacher{
public static void main(String[] args){
//子类自动转换成父类’;JavaTeacher jt = new JavaTeacher();

		Teacher jt = new JavaTeacher();
		//jt.name = "李伟";
		jt.teach();
		//2:父类的引用不能调用子类的特有方法和属性;
		//jt.Reading();
		//3:
		System.out.println(jt.name);
	}

}

java 子类与父类的类型转换:_第3张图片

你可能感兴趣的:(java 子类与父类的类型转换:)