Java--接口

接口

  • 创建一个Java project  ,创建具体的包com.qcby.interface、创建一个普通的class类文件命名为person,public是访问权限修饰符,class是一个关键字,person一个类所在的命名空间。

  • 类里面主要包含两种东西,一种是属性、一种是方法。
  • 在person里创建两个私有属性:

                privateString name;

                private intage;

在创建一个动作和行为(方法):

        public void eat(){

                System.out.println("吃饭");

        }

  • 此时不想将动作描述的过于具体,所以使用抽象类,但重要的是行为抽象方法和非抽象方法的区别是抽象方法,抽象方法怎么能够不具体,不提供实现就可以了,把大括号去掉(去掉方法体)

               public abstract void  eat();这就是一个抽象方法

  • 一个抽象的方法能存放的的地方只能是抽象类,但是抽象类中不一定有、不都是抽象方法

如果把一个方法确定了就不能更改了,但是抽象类还能有修改的余地更为的灵活

  •  什么是接口?

新建一个interface,类更具体,接口更抽象。

如果想让一个类里面只有方法,并且方法都是抽象方法的话,那就不需要创建类了,可以直接创建interface,接口里的方法

public interface Run(){

public void run();

public int eat();

}

接口只需要定义方法名是什么,方法的返回是什么,方法有返回值就是具体的类型,方法没有返回值就是void。也就是在具体实现里不需要写了,只要告诉步骤先后就好,具体步骤不需要做,谁实现谁做。

接口里面不能写属性,只能定义抽象方法和常量,定义常量时必须赋值。可以定义变量但是只能以常量的形式,不能是属性的形式,接口类似于抽象类的优化。

接口不能new,不能实例化,不存在对象属性、类属性,只能看做常量来使用

接口不能直接使用一定要有一个承接者例如一个类,类和类之间是继承的,类和接口之间是靠implements来连接的

接口的诞生就是用来完成的,所以一个类要去实现某个接口的话,这个类必须要去实现接口里的所有方法。就像一个类继承了一个抽象类,那么这个类就要把抽象类里的抽象方法实现,因为抽象类里的抽象方法就等待着被继承被实现。但如果类实现了一个接口,但是不想去具体实现,那么将这个类变为抽象类也是可以不实现的。

接口就是像是一个规则一个标准,不能定义的太死板,否则继承其的人很难去实现。

可以这么去书写

Java--接口_第1张图片

接口是可以实现多实现的,类似继承多个。

类为什么不能多继承是因为,如果两个父类拥有相同的方法,因为继承是可以把父类方法重写的,类里面的方法已经落实了,子类无法判断使用哪个。

一个类继承一个接口,然后再继承一个类再实现一个接口是可以的

package com.qcby.interfacedemo;

public interface Run {
	public void run();	
}
 

package com.qcby.interfacedemo;

public interface Eat {
	void eat();
}
 

 

package com.qcby.interfacedemo;

public interface Eat {
	void eat();
}
 
package com.qcby.interfacedemo;

public class Cow extends Animal implements Run,Eat{

	@Override
	public void run() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void sleep() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void eat() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void jump() {
		// TODO Auto-generated method stub
		
	}


}

 

 

 

你可能感兴趣的:(接口,Java核心,java,tomcat)