title: Java基礎語法(11) 面向對象之關鍵字 blog: "CSDN" data: "Java學習路線及視頻" 1.this 1. this是什麼 它在方法內部使用,即這個方法所屬對象的引用; 它在構造器內部使用,表示該構造器正在初始化的對象。 this可以作為一個類中構造器相互調用的特 ...
title: Java基礎語法(11)-面向對象之關鍵字
blog: CSDN
data: Java學習路線及視頻
1.this
- this是什麼
它在方法內部使用,即這個方法所屬對象的引用;
class Person{
private String name ;
private int age ;
public Person(String name,int age){
this.name = name ;
this.age = age ;
}
public void getInfo(){
System.out.println("姓名:" + name) ;
this.speak();
}
public void speak(){
System.out.println(“年齡:” + this.age);
}
}
它在構造器內部使用,表示該構造器正在初始化的對象。
this可以作為一個類中構造器相互調用的特殊格式
class Person{
private String name ;
private int age ;
public Person(){ // 無參構造器
System.out.println("新對象實例化") ;
}
public Person(String name){
this(); // 調用本類中的無參構造器
this.name = name ;
}
public Person(String name,int age){
this(name) ; // 調用有一個參數的構造器
this.age = age;
}
public String getInfo(){
return "姓名:" + name + ",年齡:" + age ;
}
}
2.package,import
package語句作為Java源文件的第一條語句,指明該文件中定義的類所在的包。(若預設該語句,則指定為無名包)。
包可以包含類和子包,劃分項目層次,便於管理
JDK中主要的包
1. java.lang---包含一些Java語言的核心類
2. java.net----包含執行與網路相關的操作的類和介面。
3. java.io ----包含能提供多種輸入/輸出功能的類。
4. java.util----包含一些實用工具類
5. java.text----包含了一些java格式化相關的類
6. java.sql----包含了java進行JDBC資料庫編程的相關類/介面
7. java.awt----包含了構成抽象視窗工具集
為使用定義在不同包中的Java類,需用import語句來引入指定包層次下所需要的類或全部類(.*)。
import語句告訴編譯器到哪裡去尋找類。
import 包名. 類名;
import pack1.pack2.*; //表示引入pack1.pack2包中的所有結構
註意
1. 在源文件中使用import顯式的導入指定包下的類或介面
2. 聲明在包的聲明和類的聲明之間。
3. 如果需要導入多個類或介面,那麼就併列顯式多個import語句即可
4. 舉例:可以使用java.util.*的方式,一次性導入util包下所有的類或介面。
5. 如果導入的類或介面是java.lang包下的,或者是當前包下的,則可以省略此import語句。
6. 如果在代碼中使用不同包下的同名的類。那麼就需要使用類的全類名的方式指明調用的是哪個類。
7. 如果已經導入java.a包下的類。那麼如果需要使用a包的子包下的類的話,仍然需要導入。
8. import static組合的使用:調用指定類或介面下的靜態的屬性或方法
3.super
在Java類中使用super來調用父類中的指定操作
super可用於訪問父類中定義的屬性
super可用於調用父類中定義的成員方法
super可用於在子類構造器中調用父類的構造器
註意
尤其當子父類出現同名成員時,可以用super表明調用的是父類中的成員
super的追溯不僅限於直接父類
super和this的用法相像,this代表本類對象的引用,super代表父類的記憶體空間的標識
class Country {
String name;
void value() {
name = "China";
}
}
class City extends Country {
String name;
void value() {
name = "Shanghai";
super.value(); //調用父類的方法
System.out.println(name);
System.out.println(super.name);
}
public static void main(String[] args) {
City c=new City();
c.value();
}
}
4.this與super的區別
5.static
使用範圍
在Java類中,可用static修飾屬性、方法、代碼塊、內部類
被修飾後的成員具備以下特點
隨著類的載入而載入
優先於對象存在
修飾的成員,被所有對象所共用
訪問許可權允許時,可不創建對象,直接被類調用
在static方法中不能有this,也不能有super
public static String name = "這是一個圓";
6.final
在Java中聲明類、變數和方法時,可使用關鍵字final來修飾,表示“最終的”
- final標記的類不能被繼承。提高安全性,提高程式的可讀性。
- final標記的方法不能被子類重寫。
- final標記的變數(成員變數或局部變數)即稱為常量。名稱大寫,且只能被賦值一次
public final class Test {
public static int totalNumber = 5;
public final int ID;
public Test() {
ID = ++totalNumber; // 可在構造器中給final修飾的“變數”賦值
}
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.ID);
final int I = 10;
final int J;
J = 20;
J = 30; // 非法
}
}
7.結語
2020-3-31: Java基礎語法(10)-面向對象之三大特征
-
今日好文推薦
-
今日資料推薦