Java杂谈之继承与多态

Java的特性包括抽象,继承,多态,封装

本片博客主要介绍Java的继承与多态的一些特性

继承注意点:

1.一个类的直接父类只能有一个

2.子类继承父类所有的属性,纵使是私有的属性也是能继承过来,能不能用另说

3.当子类与父类拥有相同的属性时,默认将父类的属性隐藏掉,并没有覆盖掉,但用的

是自己的属性

4.方法的继承,方法的覆盖(重写)

多态的注意点:

1.多态的两种表现形式:重写和重载(判断是否重载不看返回值)

2.重写--运行时多态;重载--编译时多态



以下是一个实例:

Person--父类

Student--子类

Test--测试


Person类代码:

package JavaInheritancePolymorphic;

public class Person {
	private String name;
	private int age;
	
	public void sayHello()
	{
		System.out.println("你好");
	}
	
	public void introduce()
	{
		System.out.println("我是人类");
	}
}

Student类代码:

package JavaInheritancePolymorphic;

public class Student extends Person {
	private String stuNo;
	private int age;
	
	public void sayHello(String msg)
	{
		System.out.println(msg);
	}
	
	public void introduce()
	{
		System.out.println("我是学生");
	}
	
	public void goHome(){}
}

Test代码:

package JavaInheritancePolymorphic;

//一个类的直接父类只能有一个
//属性的继承
//子类继承父类所有的属性,纵使是私有的属性也是能继承过来,能不能用另说
//当子类与父类拥有相同的属性时,默认将父类的属性隐藏掉,并没有覆盖掉,但用的是自己的属性
//方法的继承,方法的覆盖(重写)

//多态的两种表现形式:重写和重载(重载不看返回值)
//重写--运行时多态;重载--编译时多态

public class Test {
	public static void main(String[] args) {
		Student stu = new Student();
		//编译的时候就已经知道sayHello调用的是哪一个sayHello方法
		stu.sayHello("Hello Java!");
		stu.introduce();
		//s是Person的引用
		//s的实际的对象是Student对象
		//s编译的时候以Person身份编译的
		//s运行的时候以Student身份运行的
		Person s = new Student();
		s.introduce();
		//虽然Studen类中有goHome()方法,却不能直接"."出来
		//直接写s.goHome()会出错
		((Student)s).goHome();
				
		System.out.println(stu);
	}
}

其中Test包含着多态的体现:

1.Student stu = new Student();
//编译的时候就已经知道sayHello调用的是哪一个sayHello方法
stu.sayHello("Hello Java!");
stu.introduce();


2.//s是Person的引用
//s的实际的对象是Student对象
//s编译的时候以Person身份编译的
//s运行的时候以Student身份运行的
Person s = new Student();
s.introduce();

//虽然Studen类中有goHome()方法,却不能直接"."出来
//直接写s.goHome()会出错
((Student)s).goHome();


结果截图:





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值