抽象类和接口

 

在进入抽象类和接口的内容前,先必要了解一下java中类和方法的分类,以及各种类和方法的用法和注意事项

一、方法分类

构造方法:public 类名(){}

用途:用于类对象的创建和属性方法的初始化

普通方法:public 返回类型 方法名(){}

用途:定义类对象的行为,要干啥

抽象方法:public abstract 返回类型 方法名();

用途:抽象方法没有具体的方法实现,用于被继承时重写。

 

二、类的分类

 

补充:属性类型:常量(public static final 类型  变量名 = 值,不可变)、变量(可变)

类分类:

普通类:public class 类名{}

方法:只能有普通方法和构造方法,一定不能有抽象方法

属性:可以随意定义变量和常量

构造对象:可以构造对象

抽象类:public abstract class 类名{}

方法:三种类型的方法都可以存在

属性:可以随意定义变量和常量

构造对象:不能构造对象

接口:public interface 类名{}

方法:只能有抽象方法,一定不能有普通方法和构造方法(接口没有构造方法

属性:只能是常量

构造对象:不能构造对象

下表是关于三种类的用法类型

 

构造方法

普通方法

抽象方法

常亮

变量

创建对象

普通类

×

抽象类

×

接口

×

×

×

×

 

//A.java
public class A{
	//普通类
	public String name;//变量
	public static final int age = 20;//常亮

	public A(){}//构造方法
	public void study(){}//普通方法
}
//B.java
public abstract class B{
	//抽象类
	public String name;//变量
	public static final int age = 20;//常亮

	public B(){}构造方法
	public void study(){}//普通方法
	public abstract void play();//抽象方法
}
//C.java
public interface C{
	//接口,全部为抽象方法,常量
	//abstract和static final可以省略
	//没有构造方法
	public static final int age = 20;
	public static final String name = "aa";
	
	public abstract void study();
	public abstract void play();
}

 

注意:接口中的属性常量的修饰词static final可以省略

      接口中的抽象方法的修饰词abstract可以省略

抽象类和接口有什么用?

用于被继承,当父类,不是用来创建对象的,而是约束子类方法定义

三、接口的继承

子类继承抽象和和接口的时候:一定要把父类的抽象方法,全部重写一遍

普通类继承抽象类:extends

普通类继承接口:implements

温馨提示:

如果以后大家遇到接口类,只能老老实实写个子类,去继承接口,并把方法都实现

//D.java
public class D extends B{
	public  void play(){}//重写方法
} 
//E.java 
public class E implements C{
	public  void study(){}//重写方法
	public  void play(){}//重写方法
}


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值