java基础day09

Day9
一、抽象(获取公共的抽象属性或方法)< abstract >
  • 定义抽象类的语法:public abstract 类名{ }
  • 定义抽象方法的语法:public abstract void show();
注意点:  
  • 在返回值前面加上关键字abstract
  • 抽象方法都没有方法体
  • 抽象方法必须在抽象类里,反之抽象类里不一定全是抽象方法,可以是普通方法
  • 子类继承抽象类,子类必须重写父类的抽象方法,除非子类也是一个抽象类(普通类里不能有抽象方法)
  • 抽象方法不能够被实例化( new )
  • 抽象类的构造器都是为了给子类赋值,调用父类的super()
二、多态(一种事物有多重形态)

1.多态必须在继承的前提下
2.多态里一般都会有方法的重写

多态的语法:父类的对象 对象名称 = new 子类的对象();  
  • 父类对象的引用指向子类对象的引用(向上转型)
  • 多态里成员变量的获取:获取成员变量都是看左边(一般子类变量都是继承父类的变量)
  • 多态里成员方法的获取:编译看左边,运行看右边
多态的向上转型语法:父类 对象名称 = new子类();  

缺点:不能调用自己独有的方法
多态的向下转型语法:子类 对象名称 = (子类)父类对象名称

  • 如果还原的的不正确会产生一个错误:强制类型转换异常java.lang.ClassCastException
解决转型错误问题:instanceof 判断一个对象是否为某个类(接口)的实例或子类实例  
  • 多态的两种体现形式,第一种:以父类作为参数;第二种:以父类作为返回值
三、接口(也就是一些规范,也就是定义通用的方法)
  • 接口的关键字:interface(接口就是为解决java中的单继承问题)
  • 接口的语法:public interface 接口的名称{ }
注意点:  

1.接口里的方法都是抽象方法
2.接口编译后也是 .class文件
3.实现类必须实现接口里所有方法(除非是抽象方法)
4.接口不能够被实例化,只能实例化实现类

开发中常见的三种赋值方法:1.通过创建方法传递父类对象(作为参数);2.通过set方法;3.通过构造方法  
  • 实现多个接口的语法:implements 接口1,接口2
  • 接口里不能有变量,只能有常量,默认使用public static final类修饰常量(全局常量)
  • 接口里的方法:接口里的方法都是抽象方法,系统会给抽象方法加上默认的一个public abstract,不能有普通方法
  • 接口没有构造方法,接口是实现类的干爹,实现只存在一个父类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值