JAVA接口

Java基础小结:

接口
接口就是功能的集合 里面定义多个抽象方法

 定义格式 
		public interface 接口名{
			 抽象方法
		}

接口的使用

类实现接口
1.接口不能创建对象
2.定义实现类,实现接口
3.重写方法
4创建实现类对象 调用方法

public class 类  impelemnts 接口{
		 重写方法
	}

1. 接口的成员特点

 1.接口没有构造方法
 2.接口中的变量是 常量 public static final
 3.接口中的方法都是抽象方法(JDK1.8之前) public abstract 
接口特点 
	1.类可以在继承一个类的同时 实现多个接口
	2.接口与接口之间是继承关系 可以多继承

接口与抽象类的区别

 1.成员上的区别 
		   构造方法 
			     接口没有构造方法
				 抽象类有构造方法 
		   成员变量  
			     接口中都是常量 
				 抽象类中可以是常量 也可以是变量
		   成员方法  **加粗样式**
			     接口中都是抽象方法 
				 抽象类中可以是抽象方法 也可以是具体方法
	2.思想上的区别 
		  抽象类 描述的一类事物应该具备的最基本的属性和行为  是共性内容
		  接口 描述的是功能 体系之外的扩展功能

多态

前提
必须有继承或者是实现关系
方法重写

格式 
	    父类引用 指向 子类对象
		抽象类多态 
			 抽象父类  变量名 = new 子类();
		具体类多态
			 具体父类 变量名 = new 子类();
		接口多态
			 接口  变量名 = new 实现类();

例如:

  /*
            具体类多态
            具体的父类 变量名 = new 子类();
         */
        Fu fz = new Zi();

        fz.method();

        System.out.println("-------------------");

        /*
            抽象类多态

            抽象的父类 变量名 = new 子类();
         */

        Animal a = new Cat();
        a.eat();

        System.out.println("-------------------------");

        /*
            接口多态
            接口  变量名 = new 实现类();
         */

        Fly f = new Bird();

        f.fly();	
多态后的成员特点 
	 1.成员变量  
		  编译时 看左边 
		  运行时 看左边
	 2.成员方法 
		  编译时 看左边
		  运行时 看右边 
     一切表现都是父类 只有方法运行的是子类重写后的方法
向上转型(自动类型提升)
	  int a = 10;
	  double b = a;
	  
	  //多态本身就是向上转型
	  Zi zi = new Zi();
	  Fu fu = zi;
向下转型(强制类型转换) 
		 double b = 10.1;
		 int a = (int)b;
		 
		 Fu fz = new Zi();
		 Zi  zf = (Zi)fz;
	

多态的好处与弊端
好处: 提供了程序的扩展性 方法的参数是父类 可以传入其任意子类对象
弊端 :多态后,不使用子类特有功能 如果想使用 要么重新创建一个新的子类对象 要么向下转型

boolean b = 对象 instanceof 类型;
判断某个对象 是否属于某种类型 

例如:

Animal a = new Cat();

if(a instanceof Cat){
	Cat c = (Cat)a;
	
}
if(a instanceof Dog){
	Dog d = (Dog)a;
}
		  
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值