方法回顧
//Demo01 類
public class Demo01 {
//main 方法
public static void main(String[] args) {
}
/*
修飾符 返回值型別 方法名(...){
//方法體
return 返回值; //return表示方法結束,返回一個結果
}
*/
public String sayHello(){
return "hello,world";
}
public int max(int a , int b){
return a>b? a: b;//三元運算子
}
//IO流 讀檔案 丟擲異常
public void readFile(String file) throws IOException {
}
}
靜態方法與非靜態方法
//學生類
public class Student {
//靜態方法
/*
類名.方法名 //使用方法
static方法是和類一起載入的,時間片較早
*/
public static void say1(){
System.out.println("學生說話了");
}
//非靜態方法
/*
需要把類實列化 透過new關鍵字
非靜態方法在類實列化之後才存在
*/
public void say2(){
System.out.println("學生說話了");
}
}
Student.say1();//static 靜態方法的呼叫
//實列化這個Student這個類,然後使用say2方法
Student student = new Student();//物件型別 物件名 = 物件值;
student.say2();//呼叫方法
值傳遞與引用傳遞
//java是值傳遞
public static void main(String[] args) {
int a = 1;
Demo04.change(a);
System.out.println(a);//輸出a的值為1
}
//返回值為空
public static void change(int a){
a = 10;
}
//引用傳遞: 物件,本質還是值傳遞
public class Demo05 {
public static void main(String[] args) {
Person person = new Person();//實列化物件
System.out.println(person.name);//輸出null
Demo05.change(person);
System.out.println(person.name);//輸出秦江
}
public static void change(Person person){
//person是一個物件:指向--->Person person = new Person();這是一個具體的人,可以改變屬性
person.name = "秦江";
}
}
//一個類只能有一個public class 但是可以有多個class
//定義了一個person類,有一個屬性:name
class Person{
String name;//預設null
}