JAVA的多态、抽象、接口

多态的定义:指一个引用类型在不同情况下的多种状态(通过指向父类的指针来调用在不同子类中实现的方法);

抽象的定义:使用了关键词abstract声明的类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象)。“抽象方法”,只含有一个声明,没有方法主体,不能被实现,只能在子类中全部实现(和接口类似),且不能被实例化(可以由子类向上转型来实例化)。

抽象类中能不能有构造方法:能!

接口的定义:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)

接口中能不能有构造方法:不能!

A. 构造方法用于初始化成员变量,但是接口成员变量是常量,无需修改。

接口是一种规范,被调用时,主要关注的是里边的方法,而方法是不需要初始化的,

B. 类可以实现多个接口,若多个接口都有自己的构造器,则不好决定构造器链的调用次序

关于抽象类,接口可以有多态,如下解释:

多态有3个基本前提和3种形式:

一,前提:                  

A: 继承或者实现(有子类实现父类或者类实现接口)。
B: 有方法重写(无论是一般方法,还是抽象方法)。
  C: 有父类或者父接口引用指向子类对象(核心,父 父 = new 子. 有时候是匿名类,不容易理解)。
二,3种形式(以下例子中方法重写省略):
1,子类继承父类(一般的类). 
     eg:                             
                                            class Father{}
                                     class Son extends Father {}
                                    
                                     Fufather = new Son();               //父类的引用指向子类对象.

2抽象类多态:
                                     abstractclass Father {}
                                     class Son extends Father {}
                                    
                                     Fu father  = new Son();
3:接口多态:
                                  
         
public class Text1 {
	public static void main(String []args){
		Computer cp=new Computer();
		Camera ca=new Camera();
		Phone ph=new Phone();
		cp.useUsb(ph);
	}
}
//usb接口
interface Usb{
	public void start();
	public void stop();
}
//实现usb接口
class Camera implements Usb{
	
	public void start() {}
	public void stop() {}
}
class Phone implements Usb{


	public void start() {}
	public void stop() {}
}
class Computer{
	public void useUsb(Usb usb){}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值