目錄
1. 構造方法
1.1 構造方法概述【理解】
1.2 構造方法的注意事項【理解】
1.3 標準類製作【應用】
2 static(應用)
2.1 static訪問特點(掌握)
3.反射
3.1反射的概述【理解】
3.2獲取class類物件的三種方式【應用】
3.2.1三種方式分類
3.2.2示例**
3.3反射獲取構造方法並使用【應用】
3.3.1class類獲取構造方法物件的方法
構造方法是一種特殊的方法
作用:建立物件 student stu =new student();
格式:
public class 類名
}
功能:主要是完成物件資料的初始化
示例**:
class student
public void show() }/*
測試類*/
public class studentdemo
}
1.構造方法的建立
如果沒有定義構造方法,系統將給出乙個預設的無引數構造方法 如果定義了構造方法,系統將不再提供預設的構造
2.方法構造方法的過載
如果自定義了帶參構造方法,還要使用無引數構造方法,就必須再寫乙個無引數構造方法
3.推薦的使用方式
無論是否使用,都手工書寫無引數構造方法
4.重要功能
可以使用帶參構造,為成員變數進行初始化
示例**
/*
學生類*/
class student
public student(string name)
public student(int age)
public student(string name,int age)
public void show() }/*
測試類*/
public class studentdemo
}
需求:定義標準學生類,要求分別使用空參和有參構造方法建立物件,空參建立的物件通過set***賦值,有參建立的物件直接賦值,並通過show方法展示資料。
示例**:
class student
public student(string name, int age)
//成員方法
public void setname(string name)
public string getname()
public void setage(int age)
public int getage()
public void show() }/*
建立物件並為其成員變數賦值的兩種方式
1:無參構造方法建立物件後使用set***()賦值
2:使用帶參構造方法直接建立帶有屬性值的物件
*/public class studentdemo
}
static的概念
static關鍵字是靜態的意思,可以修飾【成員方法】,【成員變數】
static修飾的特點
1. 被類的所有物件共享,這也是我們判斷是否使用靜態關鍵字的條件
2. 可以通過類名呼叫當然,也可以通過物件名呼叫【推薦使用類名呼叫】
示例**:
class student
}public class staticdemo
}
static的訪問特點
非靜態的成員方法
能訪問靜態的成員變數
能訪問非靜態的成員變數
能訪問靜態的成員方法
能訪問非靜態的成員方法
靜態的成員方法
能訪問靜態的成員變數
能訪問靜態的成員方法
總結成一句話就是: 靜態成員方法只能訪問靜態成員
最後與靜態變數一樣,我們也可以使用 static 修飾方法,稱為靜態方法或類方法。其實之前我們一直寫的 main 方法就是靜態方法。靜態方法的使用可以直接匯入專案類檔案之後類名呼叫方法,但是也可以例項化物件之後呼叫但是更推薦前者。
例項:
public class helloworld
public static void main(string args)
}
是指在執行時去獲取乙個類的變數和方法資訊。然後通過獲取到的資訊來建立物件,呼叫方法的一種機制。
由於這種動態性,可以極大的增強程式的靈活性,程式不用在編譯期就完成確定,在執行期仍然可以擴充套件
類名.class屬性
物件名.getclass()方法
class.forname(全類名)方法
public class reflectdemo
}
方法分類
示例**
public class reflectdemo01
system.out.println("--------");
//constructorgetconstructor(class>... parametertypes) 返回乙個
constructor物件,該物件反映由該 class物件表示的類的指定公共建構函式
//constructorgetdeclaredconstructor(class>... parametertypes) 返回
乙個 constructor物件,該物件反映由此 class物件表示的類或介面的指定建構函式
//引數:你要獲取的構造方法的引數的個數和資料型別對應的位元組碼檔案物件
constructor> con = c.getconstructor();
//constructor提供了乙個類的單個建構函式的資訊和訪問許可權
//t newinstance(object... initargs) 使用由此 constructor物件表示的建構函式,
使用指定的初始化引數來建立和初始化建構函式的宣告類的新例項
object obj = con.newinstance();
system.out.println(obj);
// student s = new student();
// system.out.println(s);}}
程式設計中用到的一些演算法
1.取任意位 define bit a,b a b 0x01 a is the variable while b is the bit number 從第0位數起,而不是從第1位數起 2.取十進位制i各位上的數給a n a 0 i 10 a 1 i 100 10 a 2 i 1000 100 3.取...
競賽中用到的一些STL
memset a,0,sizeof a 陣列初始化為0 memset b,1,sizeof b 陣列初始化為 1不使用cmp 在上公升序列中找第乙個比k大的 使用cmp 在下降序列中找第乙個比k小的 兩者預設都是從前向後找,lower更靠前,找到的可以等於k bool cmp int a,int b...
php data 函式中用到的一些常量
今天在網上找到了一些,記錄下來留著下次參考 date atom string 原子鐘格式 如 2005 08 15t15 52 01 00 00 date cookie string http cookies 格式 如 mon,15 aug 2005 15 52 01 utc date iso860...