Java学习札记之多态


对多态的理解:
多态:可以理解为事物存在的多种体现形式。
美女有多种,玉姐性,清纯型。。。又好比人按性别可以分为男人、女人;按年龄可以有小孩、成人、老人等等
动物:猫、狗。。。。
按照多态的话,创建一只猫,有两种方式:
猫 x = new 猫(); //本类引用创建本类实例  可以简单的理解为 猫就是猫
动物 x = new 猫();//父类引用创建子类实例 ,体现的就是多态。 同样按照上面的逻辑可以理解为:猫是动物,OK

多态的一些特点:
1、多态的表现形式:
父类的引用指向了自己的子类对象。
父类的引用也可以接受自己的子类对象。 上面举得例子就是
2、多态的前提
必须是类与类之间有关系,要么继承,要么实现
通常还有一个前提:就是存在覆盖。
3、多态的好处
多态的出现大大的提高了程序的扩展性
4、弊端
提高了扩展性,但是只能使用父类的引用访问父类中的成员。

在多态中(非)成员函数的特点:
在编译时期,残月引用性变量所述的类中是否有调用的方法,如果哟,编译通过,如果没有编译失败。
在运行期间,残月对象所述的类中是否有调用的方法。
简单总结就是:成员函数在多态调用时,编译看左边,运行看右边。

在多态中,成员变量的特点

无论编译和运行,都参考左边(引用型变量所属的类)

在多态中,静态成员函数的特点:
无论编译与运行,都参考左边。 

举例说明:

例子很简单,就是用父类引用创建子类对象,然后用子类对象调用父类方法和子类方法。
public class Fu
{
	int num = 5;
	void method1()
	{
		System.out.println("fu method_1");
	}
	void method2()
	{
		System.out.println("fu method_2");
	}

	static void method4()
	{
		System.out.println("fu method_4");
	}

}

public class Zi extends Fu
{
	int num = 8;

	void method1()
	{
		System.out.println("Zi method_1");
	}
	void method3()
	{
		System.out.println("Zi method_3");
	}
	static void method4()
	{
		System.out.println("zi method_4");
	}
}

public class DuoTaiDemo 
{
	public static void main(String[] args) 
	{
		//Zi z = new Zi();//一般的创建对象
		//z.method1();
		//z.method2();
		//z.method3();

/*
	在多态中(非)成员函数的特点:
	在编译时期,残月引用性变量所述的类中是否有调用的方法,如果哟,编译通过,如果没有编译失败
	在运行期间,残月对象所述的类中是否有调用的方法。
简单总结就是:成员函数在多态调用时,编译看左边,运行看右边。

	在多态中,成员变量的特点:
	无论编译和运行,都参考左边(引用型变量所属的类)

在多态中,静态成员函数的特点:
	无论编译与运行,都参考左边。 

*/
	        Fu f = new Zi();//多态的体系
		System.out.println(f.num);//5
		Zi z = new Zi();
		System.out.println(z.num); // 8
		f.method1();//Zi method_1
		f.method2();//fu method_2
		//f.method3();
		f.method4();//fu method_4
	        z.method4();//zi method_4
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值