日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 关于类的专题

發布時間:2024/7/5 java 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 关于类的专题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1. Object 類
    • 2. 內部類
    • 3. 覆寫 Object 類的 equals 方法
    • 4. 接口對象實例化
    • 5. this() 調用無參構造方法
    • 6. static 屬性所有對象共享一份
    • 7. static 方法不能調用 非static 屬性
    • 8. 靜態代碼塊
    • 9. final 關鍵字
    • 10. instanceof 關鍵字

1. Object 類

所有的類都是繼承于 Object 類,該類有一個 toString() 方法,打印對象時調用

class Person4 extends Object{ // extends Object 可省略String name = "Michael";int age = 18; }class test4{public static void main(String[] args){Person4 p = new Person4();System.out.println(p);} }

輸出:

Person4@1b6d3586
  • 覆寫 toString()
class Person4 extends Object{ // extends Object 可省略String name = "Michael";int age = 18;public String toString(){return "I am " + name + ", age " + age;} }class test4{public static void main(String[] args){Person4 p = new Person4();System.out.println(p);} }

輸出:

I am Michael, age 18

2. 內部類

  • 內部類可以調用外部類的數據和方法
  • 部類無法訪問內部類的數據和方法
  • static 內部類 不能訪問 非static 外部類的成員
class Outer{int score = 95;void inst(){Inner in = new Inner();in.display();}class Inner{void display(){System.out.println("score: " + score);}} } class Outer{int score = 95;class Inner{String innerName = "Michael";//外部類無法訪問void display(){System.out.println("score: " + score);}} } class test4{public static void main(String[] args){Outer out = new Outer();Outer.Inner in = out.new Inner();// 用外部類的對象 去實例化一個 內部類的對象in.display();} }

3. 覆寫 Object 類的 equals 方法

class Person4 extends Object{ // extends Object 可省略private String name = "Michael";private int age = 18;public Person4(String name, int age){this.name = name;this.age = age;} }class test4{public static void main(String[] args){Person4 p1 = new Person4("Michael", 18);Person4 p2 = new Person4("Michael", 18);System.out.println(p1.equals(p2) ? "eq" : "not eq");// not eq , 不覆寫 equals , 不對勁,內容一樣的.} } class Person4 extends Object{ // extends Object 可省略private String name = "Michael";private int age = 18;public Person4(String name, int age){this.name = name;this.age = age;}// 覆寫父類 Object 的 equalspublic boolean equals(Object o){boolean eq = true;Person4 p1 = this;if(o instanceof Person4){Person4 p2 = (Person4) o;eq = (p1.name==p2.name && p1.age==p2.age);}elseeq = false;return eq;} }class test4{public static void main(String[] args){Person4 p1 = new Person4("Michael", 18);Person4 p2 = new Person4("Michael", 18);System.out.println(p1.equals(p2) ? "eq" : "not eq");// eq } }

4. 接口對象實例化

  • 接口不能直接實例化,可以通過其子類進行實例化,抽象類也一樣
//接口對象實例化 interface Usb{public void start();public void stop(); }class MoveDisk implements Usb {public void start(){System.out.println("MoveDisk start...");}public void stop(){System.out.println("MoveDisk stop...");} } class Mp3 implements Usb {public void start(){System.out.println("Mp3 start...");}public void stop(){System.out.println("Mp3 stop...");} }class Computer{public void work(Usb u){u.start();u.stop();} } new Computer().work(new MoveDisk()); new Computer().work(new Mp3());輸出: MoveDisk start... MoveDisk stop... Mp3 start... Mp3 stop...

5. this() 調用無參構造方法

只能在構造函數中使用,且放在第一句

6. static 屬性所有對象共享一份

7. static 方法不能調用 非static 屬性

8. 靜態代碼塊

  • 最先執行(且先于靜態方法),static { ... } 只會被執行一次,經常用來類屬性初始化

9. final 關鍵字

  • final 標記的類,不能被繼承
  • final 標記的方法,不能被子類覆寫
  • final 標記的變量,常量,一次賦值,不能修改

10. instanceof 關鍵字

  • 對象 instanceof 類(或接口),返回 boolean

總結

以上是生活随笔為你收集整理的Java 关于类的专题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。