Java基础(极客)——13、Java面向对象-抽象类与接口

package com.zhh.java.chouxiangliejiekou;


/**
 * 1、Java final关键字的使用
1、final关键字在java中被称为完结器,表示最终的意思
2、final能声明类、方法、属性
使用final声明的类不能被继承;
使用final声明的方法不能被重写;
使用final声明的变量是常量,常量是不可以被修改的
常量名的所有字母要大写




 * 
 */

public class FinalDemo1 {


    public static void main(String[] args) {


    }


}



package com.zhh.java.chouxiangliejiekou;


/**
 * 2、Java抽象类
 * 
1抽象类:
包含一个抽象方法的类就是抽象类
2抽象方法:
声明而未被实现的方法,抽象方法必须使用a:bstract关


键字声明
3抽象类被子类继承,子类(如果不是抽象类)必须重写
抽象类中的所有方法
4定义格式
abstract class className{
属性
方法
抽象方法
}
5抽象类不能直接实例化,要通过子类实例化
 */

public class ChouXiangLeiDemo1 {


    public static void main(String[] args) {
        // Abs abs = new Abs();抽象类不能直接实例化
        ShiXianAbs shiXianAbs = new ShiXianAbs();
        shiXianAbs.setAge(20);
        shiXianAbs.myTell();


    }


}


/**
 *抽象类
 * 
 *
 */
abstract class Abs {
    private int age;


    public int getAge() {
        return age;
    }


    public void setAge(int age) {
        this.age = age;
    }


    private void tell() {
    }


    //抽象方法
    abstract void myTell();


}


class ShiXianAbs extends Abs {
    //实现父类中的所有抽象方法
    @Override
    void myTell() {
        System.out.println(getAge());
    }


}



package com.zhh.java.chouxiangliejiekou;


/**
 * 3、Java接口的实现
 接口可以理解为一种特殊的类,里面全部是全局常量和公共的抽象方法所组成
 
接口的实现必须通过子类,使用关键字implements,接口可以多实现
一个类可以同时继承抽象类,和实现接口


一个接口不能继承一个抽象类,但是可以通过extends继承多个接口,实现接口的多继承
 */

public class JieKouDemo1 {


    public static void main(String[] args) {
        ShiXianMyJieKou jieKou = new ShiXianMyJieKou();
        int age = jieKou.AGE;
        jieKou.tell();
        System.err.println(jieKou.AGE);


    }


}


interface MyJieKou1 {
    //public公开的
    //static全局的
    //final不可改变的
    public static final int AGE = 30; //全局常量


    public abstract void tell();//抽象方法
}


interface MyJieKou2 {
    //public公开的
    //static全局的
    //final不可改变的
    public static final int AGE2 = 30; //全局常量


    public abstract void tell2();//抽象方法
}


/**
 * 接口可以多继承
 */
interface MyJieKou3 extends MyJieKou1, MyJieKou2 {


}


abstract class myChouXiangLei {
    public abstract void myChouxiangFangFa();


}


/**
 * 
 * 接口多继承
 * 继承抽象类,同时实现多个接口
 */
class ShiXianMyJieKou extends myChouXiangLei implements MyJieKou1, MyJieKou2 {


    @Override
    public void tell() {


    }


    @Override
    public void tell2() {
    }


    @Override
    public void myChouxiangFangFa() {
    }


}


源码下载:
http://download.csdn.net/detail/zhaihaohao1/8741715
视频下载:
http://c38.yunpan.360.cn/my/index/#%2F%E7%A8%8B%E5%BA%8F%E5%BC%80%E5%8F%91%2Fjava%2F


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值