Java 面向对象:重载overload、静态static、构造器初始化变量

时间:2022-11-13 17:20:41
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();//创建对象调用
		

	}
}