Android之JavaSe基础--面向对象高级部分-接口,抽象类(五)

一、final关键字
Final常用来声明常量,常量必须大写,常量的内容是不能够修改的。
例子:private final String INFO = “刘欢”; //声明常量
Public final void print(){ //使用final声明的方法不能够被覆写
INFO=”HELLO”;
}
全局常量:public static final String INFO=”刘欢”;
二、抽象类:包含一个抽象方法的类就称为抽象类。(抽象方法:只声明而未实现的方法称为抽象方法,抽象方法必须使用abstract关键字声明)

 abstract class A
{
    public static final String FLAG="CHINA";    //全局常量
    private String name="刘欢";   //定义一个普通的属性
    public void setName(String name){
        this.name=name;
    }
    public String getName(){
        return name;
    }
    public abstract void print();   //定义抽象方法,不必实现
}
class B extends A       //继承抽象类,因为B是普通类,所以必须覆写A中的抽象方法
{
    public void print(){
        System.out.println("FLAG="+FLAG);
        System.out.println("姓名="+super.getName());
    }
}
public class AbstractDemo
{
    public static void main(String[] args){
        B b=new B();
        b.print();
    }
}

注意:抽象类使用的时候一定要有子类,子类仍然使用extends继承。
抽象类中绝对不能使用final关键字声明的(因为final声明没有子类),抽象类中
允许有构造方法,而且完全符合子类对象的实例化过程。
三、接口:接口是java中最重要的概念,接口可以理解为一种特殊的类,里面全都是
由全局变量和公共的抽象方法所组成。
格式: interface 接口名称{
全局常量;
抽象方法;

例子:

Interface test{
    Public String personInfo(String name,String sex,int age){
    return “你是一个人”;
}
Public void eat(String name,String sex,int age){
    return “人需要吃饭”;
}
。。。
}

一个子类可以同时继承抽象类和实现接口
格式: class 子类 extends 抽象类 implements 接口A,接口B…{}
例子:

abstract class A
{
    public static final String FLAG="CHINA";    //全局常量
    private String name="刘欢";   //定义一个普通的属性
    public void setName(String name){
        this.name=name;
    }
    public String getName(){
        return name;
    }
    public abstract void print();   //定义抽象方法,不必实现
}
interface Person
{
    public String say();
}
class B extends A   implements Person   //继承抽象类,因为B是普通类,所以必须覆写A中的抽象方法,接口
{
    public void print(){
        System.out.println("FLAG="+FLAG);
        System.out.println("姓名="+super.getName());
    }
    public String say(){
        return "人说话!";
    }
}
public class InterfaceDemo
{
    public static void main(String[] args){
        B b=new B();
        b.print();
        System.out.println(b.say());
    }
}

注意:一个接口不能继承一个抽象类,但是可以用extends继承多个接口!!!!!!
格式: interface 子接口 extends 父接口1,父接口2..{}

你可能感兴趣的:(android,javaSe)