类、抽象类与接口

接口的关键字:interface

接口的作用:作为数据类型、充当父类给子类扩展;

定义接口的语法格式:public interface 接口名 extends 接口名,...{

//只能定义常量

Public  static final 数据类型  常量名 = 值;

//只能定义抽象方法

public 返回值数据类型 方法名(参数类型 参数名,...);

}

注意:接口默认的访问修饰符为public、接口不能实例化对象;

定义类实现接口的语法格式是:

public class 类名 implements 接口名,... {

 

//类中必须要实现接口中所有的抽象方法。

}

普通类class与接口interface的区别

 

1.class的访问修饰符可以是:public、protected、默认的、private

而接口只有默认的访问修饰符:public;

2.class可以定义属性、普通方法、构造方法,而接口中只能定义常量和抽象方法;

3.class中可以实例化对象并调用方法,而接口不能实例化对象;

4.class可以继承另一个class,但子类只能继承一个父类(单继承),一个class可以通过implements实现多个接口,多个接口名之间用逗号隔开;而一个interface可以继承多个接口,被继承的接口之间也是用逗号隔开;一个 class可以继承另一个class后再实现多个接口;

5.子类继承父类的方法可以实现也可以不实现,而class继承interface的方法一定要实现,并且在实现接口的方法时,不能缩小方法的可见性;

 

 

 

抽象类:抽象类就是介于类和接口之间的一种特殊的类。

定义抽象的关键字:abstract class

定义抽象类的格式:public abstract class 抽象类名 extends 类名或者抽象类 implements 接口名,... {

//和类一样定义属性和方法

//和接口一样定义常量和抽象方法,但是抽象方法的格式不同

public abstract 返回值类型 方法名(参数类型 参数名,...);

 

}

代码例子:

定义一个类实现接口

 

/**
 * 定义一个Person接口
 * 
 */
public interface Person {
  // 接口中的属性默认是public static final ,只能是public static final
 public static final int age = 100;
	// 接口中的方法默认是public abstract ,只能是public abstract
	public abstract void eat();
   Public abstract void study();
}
/**
 * 学生类,实现Person接口
 */
public class Student implements Person{
   /**
	 * 必须实现接口中所有的方法
	 * 在实现接口的方法时,不能减小方法的可见性
	 */
	public void study(){
		System.out.println("学生学习的方法!!");
	}

	public void eat(){
		System.out.println("学生吃饭的方法!!");
	}
	
	

 

 

<!--EndFragment-->

 

<!--EndFragment-->
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值