Java小白学习指南【day11】---Java三大特性之一多态

1、访问修饰符的区别

private:在同类中进行访问

默认不写:同包不同类中

protected:不同包但是具有继承关系的类中

public:同一个项目中均可访问

2、接口

是一种规范,存放抽象方法的集合,并不提供功能的实现,体现了规范和功能相分离,对功能与规范进行解耦,提高代码的独立性。

接口在结构上与类相似,是使用interface关键字声明的

public interface Usb{}

接口中可以存在的东西:

成员变量:默认有public static final修饰,所以必须要有初始值,接口名.变量名

静态方法:接口名.方法名

抽象方法:默认有public abstract

没有构造方法(也就没有对象),没有普通方法

类与接口的关系:实现

关键字 implements 表示

public class B implements A{}

一个类可以同时实现多个接口,如果该类还包括继承,继承要写在最前面

类与类的关系:继承(单继承 多重继承)

接口与接口的关系:

多继承:一个接口可同时继承多个接口(可以同时有多个爸爸)

多重继承:被继承的接口还能够继续继承(儿子还能够有儿子)

3、多态

编译时类型与运行时类型不一致的情况称为多态。

口诀:编译看左边,运行看右边。(针对的是普通方法,静态方法还是要看编译时类型)

父类在左边,子类在右边

Animal a = new person();

多态存在的情况:子类与父类、实现类与接口

作用:可以屏蔽子类之间大的差异性,提高代码的可扩展性

引用数据类型的转换:与基本数据类型转换类似

强转类型 变量名 = (强转类型)对象名;

强转时要注意对类型的判断:

1、a instanceof A:a表示对象名 A表示强转类名 结果为布尔值

if(父类变量 instanceof 子类类型1){
		//强制类型转换
		子类类型1	子类变量 = (子类类型1)父类变量;
		//现在就可以调用子类特有方法
		子类变量.子类特有方法(...);
	   }else if(父类变量 instanceof 子类类型2){
		//强制类型转换
		子类类型2	子类变量 = (子类类型2)父类变量;
		//现在就可以调用子类特有方法
  		子类变量.子类特有方法(...);
  	  }

2、通过获取运行时

getclass:对象调用Object中getclass时获取的真正的类型

class属性:类名.class 获得该类真正运行时的类型

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值