package com.neusoft.overload;
/**
* 方法的重載(overload):函數的重載就是在同一個類中允許同時存在一個以上同名的方法
* 1.成員方法(類中的方法):判斷
* 2.特殊的方法(構造方法):初始化
* 方法重載的規則:
* 1.函數名稱相同
* 2.函數的參數必須不同:可以參數個數不同,也可以參數類型不同
* 3.函數的返回值類型,可以相同也可以不同,與返回值類型無關
*/
public class Test {
public void m1(){
}
public void m1(int a){
}
public static void main(String[] args) {
Test test = new Test();
test.m1(1);
System.out.println(1);
}
}
package com.neusoft.override;
import com.neusoft.overload.StaticDemo;
public class Test_This {
public Test_This(){
System.out.println("1");
}
public Test_This(int a){
this();
System.out.println("2");
}
public Test_This(int a, int b){
this(a);
System.out.println("3");
}
public static void main(String[] args){
Test_This a = new Test_This(4,6);//1 2 3
}
}
package com.neusoft.overload;
public class Person {
private String name;
private int age;
private String school;
public Person(){
}
public Person(String name,int age,String school){
this.name = name;//初始化
this.age = age;
this.school = school;
}
public static void main(String[] args) {
Person person1 = new Person();
Person person2 = new Person("tom",20,"neusoft");
}
}
package com.neusoft.overload;
/**
* static靜態 它可以修飾:
* 1.靜態變量:可以作爲累加器,每次創建一個新的對象靜態變量不會賦值爲初始值。
* 而實例變量每次創建新的對象都會賦爲初始值。
* 成員方法裏不可以創建靜態變量。
* 靜態方法裏可以直接訪問靜態變量,不可以直接訪問非靜態變量。
* 2.靜態方法:類名.method()
* 3.靜態代碼塊(作用:可以初始化)不常用 瞭解
*
* @author Administrator
*
*/
public class StaticDemo {
static int i; //成員變量統領全類
int b;
public StaticDemo() {//靜態方法不可以放在構造方法裏
i++;//靜態方法裏可以直接訪問靜態變量
System.out.println(i);
}
public static void t(){
// b = 2;//靜態方法裏不可以直接訪問非靜態變量
}
public static void t1() {
System.out.println("t1");
}
public static void t2(){
// Static int a; // 成員方法裏不可以創建靜態變量。
System.out.println("t2");
}
public static void main(String[] args) {
StaticDemo.t1();//靜態方法直接調用:作爲通用的工具類使用
StaticDemo sd1 = new StaticDemo();
StaticDemo sd2 = new StaticDemo();
StaticDemo sd3 = new StaticDemo();
StaticDemo sd4 = new StaticDemo();
sd1.t1();//創建對象調用
}
}