九.javase-java基础语法-抽象类/接口

一.类/抽象类/接口的关系.
类表示一个实体的类,这是主要干活的类;
抽象类表示干了一部分活的类,也就是实现了一部分方法,但是一部分方法没有实现,需要消费者自己定义实现的类.
接口:表示只定义了需要干什么活,但是自己不干活,也就是只定义了方法,但是没有方法实现.

二.抽象类
1.格式:在class前面加上关键字abstract关键字.例如

//抽象类
public abstract class TestAbstract {
	//具体方法
	void say() {
		System.out.println("hello");
	}
}

2.注意:抽象类不一定有抽象方法,但是有抽象方法的类必须是抽象类或者接口.

//实体类中有抽象方法,则会报错.
class TestAbstract2{
	abstract void say();//抽象方法的类必须是抽象类,不然会报错,这里报错了
}

3.实体类继承抽象类,必须实现其父类的全部抽象方法

public abstract class TestAbstract {
	//具体方法
	void say() {
		System.out.println("hello");
	}
	abstract void hello();
}
class TestAbstract3 extends TestAbstract{
	@Override //重写抽象方法
	void hello() {
	System.out.println("hello");
	}
}

4.抽象方法的格式:
4.1在方法修饰符之后,返回值之前加上关键字abstract,
4.2并且抽象方法没有方法体.

public abstract void hello();

三.接口
1.接口的意义:
.接口表示一种规范,我们常说的API接口的意思就是定义好方法,具体的实现由各个厂商或者个人去实现,java中的常用接口规范有,jdbc,jwt,jms,

2.接口的格式:
2.1 用关键字interface表示,修饰接口的修饰符只有三个public default 和abstract
2.2 接口中的属性默认用 public static final修饰,所以接口中的属性必须声明时指定值,并且可以直接接口名.属性名获取.
2.3 接口的方法默认有abstract修饰,并且只有两种修饰符,一种是public,一种是default.如果实在要在接口中写方法实现,有两种方式,第一种添加default,第二种添加static静态方法.

public interface TestInterface {
	//默认为 public static final int a = 1;
	public int a=1;
	
	/*
	 * 这是抽象方法,没有方法体,默认为public abstract 修饰
	 * 如下三种形式一种的.
	 */
	void say();
	void say2();
	public abstract void say3();
	
	/*
	 * 这是接口的方法的默认实现
	 */
	default void sing() {	
	}
	public default void sing2() {
		//这里可以证明接口中的成员属性默认用 public static final修饰
		int b = TestInterface.a;
	}
	
	/*
	 * 这是静态方法,必须要有方法实现.
	 */
	static int sum(int a,int b) {
		return a + b;
	}
	
}

3.接口的实现
3.1 java中接口时多实现,单继承的,实现接口用关键之impleaments.
3.2 一个类实现一个接口,必须实现其全部的抽象方法.

//单继承,多实现
class InterfaceDemo extends Person implements TestInterface,Serializable{
	@Override
	public void say() {
		// TODO Auto-generated method stub
	}
	@Override
	public void say2() {
		// TODO Auto-generated method stub
	}
	@Override
	public void say3() {
		// TODO Auto-generated method stub
	}
	@Override
	public void eat() {
		// TODO Auto-generated method stub
	}
}

发布了42 篇原创文章 · 获赞 0 · 访问量 680

猜你喜欢

转载自blog.csdn.net/weixin_45449911/article/details/104428285