運(yùn)行Java程序凯旋,定義了很多類之后需要某個(gè)類作為入口類(相當(dāng)于程序的入口),那個(gè)類里面會(huì)有一個(gè)入口函數(shù):main函數(shù)样漆,函數(shù)里寫這個(gè)程序所要執(zhí)行的代碼晌缘。
public class init{
public static void main(String[] args){
//寫要運(yùn)行的代碼
}
}
一.定義Java中的類(屬性+方法)
定義一個(gè)類名+編寫類的屬性+編寫類的方法
public class 類名{
//定義屬性部分(成員變量 屬性1的類型 屬性1;
屬性2的類型 屬性2;
//定義方法部分
方法1返回值類型 方法1;
方法2返回值類型 方法2;
}
二.JAVA對(duì)象
1.創(chuàng)建對(duì)象:
類名(對(duì)象類型) 對(duì)象名=new 類名( );
HelloWord helloword=new HelloWord( );
2.使用對(duì)象:
引用屬性:對(duì)象名.屬性
引用方法:對(duì)象名.方法
三.成員變量和局部變量
圖片發(fā)自南三號(hào)
作用域:
- 局部變量:僅限于定義它的那個(gè)方法中,比如上圖中方法一中的變量只能在方法一中使用
- 成員變量:在整個(gè)類的內(nèi)部都是可見的(類中共享)
初始值:
- 成員變量:自動(dòng)擁有初始值0
- 局部變量:不會(huì)有初始值亿鲜,所以要給初始值
-
特別注意
同一方法不能有同名局部變量
不同方法中可以有同名局部變量
兩類變量同名時(shí)允蜈,局部變量具有更高的優(yōu)先級(jí)(就近原則)
四.構(gòu)造方法(有參和無參)
- 無參的構(gòu)造方法:當(dāng)沒有自定義構(gòu)造方法時(shí),系統(tǒng)會(huì)自動(dòng)添加一個(gè)無參的構(gòu)造方法蒿柳,如果你覺得不滿意饶套,可以自定義無參構(gòu)造方法。
- 有參的構(gòu)造方法:方便實(shí)例化對(duì)象的初始化(即對(duì)象屬性賦合理初值)垒探。傳值不正確可以在構(gòu)造函數(shù)中進(jìn)行判斷妓蛮,避免傳值不安全。
- 特別注意:當(dāng)你自定義了構(gòu)造方法圾叼,系統(tǒng)就不會(huì)為你自動(dòng)添加蛤克。如果你自定義了一個(gè)有參的構(gòu)造方法,你就不能使用無參的構(gòu)造方法夷蚊,如果想要使用构挤,則必須再自定義一個(gè)無參的構(gòu)造方法。
- 構(gòu)造方法的重載:根據(jù)初始化值的不同要求惕鼓,定義多個(gè)有參的構(gòu)造函數(shù)筋现。
六.java中的static使用
1.靜態(tài)變量:
類中的靜態(tài)變量不是被某一個(gè)實(shí)例對(duì)象特有,而是所有對(duì)象共享,用對(duì)象名矾飞,類名都可以進(jìn)行訪問彻犁,推薦使用類名訪問:
public class HelloWorld {
// 定義靜態(tài)變量我的名字
static String myName = "南三號(hào)";
public static void main(String[] args) {
// 訪問靜態(tài)變量,輸出我的名字
System.out.println(HelloWorld.myName);
}
}
2.靜態(tài)方法:
性質(zhì)及使用方法與靜態(tài)變量類似
用對(duì)象名或者類名調(diào)用靜態(tài)方法
public class HelloWorld {
// 定義靜態(tài)方法輸出我的名字
public static void print( ){
System.out.println(“南三號(hào)”)
}
public static void main(String[] args) {
// 訪問靜態(tài)方法凰慈,輸出我的名字
HelloWorld.print( );
}
}
注意:靜態(tài)方法能直接調(diào)用同類中的靜態(tài)變量汞幢,但不能調(diào)用非靜態(tài)變量。想要調(diào)用必須先實(shí)例化一個(gè)對(duì)象微谓。
而普通方法則都可以調(diào)用森篷。
3.靜態(tài)初始化塊
- 執(zhí)行優(yōu)先級(jí):
靜態(tài)初始化塊>初始化塊>構(gòu)造函數(shù) - 代碼示例:
public class HelloWorld {
int num1,num2;
static int num3;
// 構(gòu)造方法
public HelloWorld () {
num1=1;
}
// 初始化塊
{
num2=2;
}
// 靜態(tài)初始化塊
static {
num3=3;
}
}
- 注意:靜態(tài)初始化塊只在加載類的時(shí)候加載一次,且只能初始化靜態(tài)變量的值豺型,不能初始化普通變量仲智。