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

论坛 期权论坛 脚本     
匿名技术用户   2020-12-28 14:00   11   0

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 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP