匿名對象&final
阿新 • • 發佈:2018-03-19
匿名對象&final1.1 匿名對象定義&使用
匿名對象即無名對象,直接使用new關鍵字來創建對象
1.1.1 案例代碼九:
匿名對象即無名對象,直接使用new關鍵字來創建對象
1.1.1 案例代碼九:
package com.itheima_01; /* * 匿名對象:沒有名字的對象 * 匿名對象的應用場景: * 當方法只調用一次的時候可以使用匿名對象 * 可以當作參數進行傳遞,但是無法在傳參之前做其他的事情 * * 註意:匿名對象可以調用成員變量並賦值,但是賦值並沒有意義 * */ public class AnonymousObejctDemo { public static void main(String[] args) { //Student s = new Student(); //s.study(); //s.study(); //s.study(); //new Student();//匿名對象,沒有變量引用的對象 //new Student().study(); //new Student().study(); //new Student().study(); //new Student().age = 18; //System.out.println(new Student().age); //Student s = new Student(); //s.age = 18; //s.name = "張三"; //method(s); method(new Student()); } public static void method(Student s) { } } class Student { String name; int age; public void study() { System.out.println("好好學習,高薪就業"); } }
1.2 final關鍵字
final: 修飾符,可以用於修飾類、成員方法和成員變量
final所修飾的類:不能被繼承,不能有子類
final所修飾的方法:不能被重寫
final所修飾的變量:是不可以修改的,是常量
1.2.1 案例代碼十:
package com.itheima_01; /* * final: 修飾符,可以用於修飾類、成員方法和成員變量 * final所修飾的類:不能被繼承,不能有子類 * final所修飾的方法:不能被重寫 * final所修飾的變量:是不可以修改的,是常量 * * 常量: * 字面值常量:1,2,3 * 自定義常量:被final所修飾的成員變量,一旦初始化則不可改變 * * 註意:自定義常量必須初始化,可以選擇顯示初始化或者構造初始化 * * */ public class FinalDemo { public static void main(String[] args) { //Animal a = new Animal(); //a.eat(); Dog d = new Dog(); //d.eat(); //d.num = 20; System.out.println(d.NUM); } } /*final*/ class Animal { public final void eat() { System.out.println("吃東西"); } } class Dog extends Animal { /*public void eat() {}*/ final int NUM; public Dog() { NUM = 10; } }
匿名對象&final