Java面向对象:抽象类和接口

Final关键的使用

  1. 完结器,最终的意思;

  2. final能声明类、方法、属性,

    使用final声明的类不能被继承;

    使用final声明的方法不能被重写;

    使用final声明的变量变成常量,常量是不可以被修改的;变量名都改为大写

final class People {//不能被继承
	final public String NAME= "小三";//变成常量,大写
	public String country = "China";
	public void tell(){
		System.out.println("People!");
	}
}

抽象类

  1. 概念:包含一个抽象方法的类就是抽象类;

  2. 抽象方法:声明而未实现的方法,(相当于占空,代表我这里有个方法,如果后面要实例化必须要创建该类),抽象方法必须使用abstract关键字声明

  3. 抽象类被子类继承,子类(如果不是抽象类)必须重写抽象类中的所有抽象方法

//抽象类,类名和方法都添加abstract关键字
abstract class People {
	final public String name = "小三";
	public String country = "China";
	abstract public void tell();
	abstract public void printError();
}

//抽象类被子类继承,子类(如果不是抽象类)必须重写抽象类中的所有抽象方法
class Student extends People{
	public void tell(){
		System.out.println("Hello");
	}
	public  void printError() {
		System.err.println("ERROR");
	}
}

接口

  1. 接口:一个特殊的类,里面全部是由全局常量和公共的抽象方法组成;

  2. 接口的实现也必须通过子类,使用关键字implements,而接口是可以多实现的。

  3. 一个子类可以同时继承抽象类和实现接口

  4. 一个接口可以通过extends关键字同时继承多个接口,实现接口的多继承;

  5. 一个接口不能继承一个抽象类,(抽象类不能用接口拓展)

//创建接口
interface Inter1{
	public static final int AGE = 100;
	public abstract void tell();
	
}

//创建接口2
interface Inter2{
	public abstract void say();
	
}

//接口多实现
interface Inter3 extends Inter1, Inter2{
	
}

//定义抽象类
abstract class Abs1{
	public abstract void print();
	
}

//通过子类实现接口,使用关键字implements,接口可以多实现,可以同时继承抽象类和实现接口
class A extends Abs1 implements Inter1,Inter2{
	public void tell(){
	}
	public void say() {
	}
	public void print() {
	}
}


转载于:https://my.oschina.net/u/2413758/blog/484855

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值