首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 物件導向三大特性:封裝、繼承、多型

     編輯:Java 相關知識

Java 物件導向三大特性:封裝、繼承、多型。本站提醒廣大學習愛好者:此文章僅供參考,不一定能完全符合您的需求。以下是完整範例正文


Java 物件導向的三大特性:「封裝、繼承、多型」。更多 Java 技術知識,請登入瘋狂軟體教學官網。微信搜尋微信號:瘋狂軟體,參加 2015 年優惠活動,有機會獲得優惠券和代金券。

以本文為例,User 類別中的變數為私有變數,只能透過建立物件(此時建構方法自動呼叫)來賦值。外界只能透過公開方法 api() 來存取 User 類別。Admin 類別繼承了 User 類別,呼叫了其建構方法,還重寫了 method_1 方法,新增了一個特有方法 power()。

public class User {
    private String name;
    private int age;
    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }
    private void method_1() {
        System.out.println("i am a " + name + " ; my age is: " + age);
    }
    protected void method_2() {
        System.out.println("i am not override");
    }
    public void api() {
        method_1();
        method_2();
    }
}

public class Admin extends User {
    public Admin(String name, int age) {
        super(name, age);
    }
    protected void method_2() {
        System.out.println("NO, you are override");
    }
    public void power() {
        System.out.println("admin is powerful");
    }
}

public class Main {
    public static void main(String[] arg) {
        User a = new User("user", 12);
        a.api();
        System.out.println();
        Admin admin_me = new Admin("admin", 23);
        admin_me.api();
        admin_me.power();
        System.out.println();
        User test_admin = new Admin("test_admin", 34);
        test_admin.api();
        // test_admin.power(); // User 中沒有宣告 power 這個方法,所以不能使用
    }
}

以上就是本文的全部內容,希望大家能夠喜歡。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved