首页 > 技术文章 > java21

-zero 2019-01-31 23:39 原文

1.构造器的重载(类似于方法的重载)
在拥有相同的构造器名称的前提下,构造器传参个数的不同和传参类型的不同都属于构造器的重载
2.static 修饰符
状态:(成员变量)字段
行为:方法
有的状态和方法属于类,有的状态和方法属于对象

public class Person {
	static int allnum=100;
	static void destroy() {
		System.out.println("人类毁灭");
		allnum=0;
	}
	static void die() {
		System.out.println("人类死亡");
		allnum--;
	}
	//以上属于类
	String name;
	int age;
	void sing() {
		System.out.println(name+"喜欢唱歌");
	}
	//以上属于对象
	Person(String n,int a){
		name=n;
		age=a;
		allnum++;
	}
public static void main(String[] args) {
		Person ren=new Person("zs",18);
		System.out.println(ren.name);
		ren.sing();
		System.out.println(Person.allnum);
		Person.die();                                    //直接调用方法
		System.out.println(Person.allnum);//字段需要打印
	}
}
【zs
zs喜欢唱歌
101
人类死亡
100】

有static 修饰的方法和字段,那么这个方法和字段就属于类
3.static的特点:
--1--static修饰的字段或方法会根据类的加载而加载(在jvm编译成字节码时,static已经在内存中开拓好了空间【存储在方法区中】)
--2--static修饰的内容优先于对象的存在
--3--static修饰的内容存在于所有的对象之中
--4--static修饰的内容可以在所有对象中以类名.static修饰的内容这样的形式直接使用

4.boolean的默认值是false

5.静态方法(满足其一即为静态方法):
存放在方法区中的(使用公共内存空间),带static的,为所有对象都可以直接引用的

方法区是存放字节码的,而存放时也会检查是否有静态成员

静态成员:为类或类的多个对象所共有的特征或者是方法,带static,可以通过类名来调用,也可以通过对象来调用

static内存分析
--1--类中的成员:字段,方法,内部类
--2--有static修饰叫类成员
没有static修饰叫实例成员
--3--类成员和实例成员的访问
在static方法中只能调用static成员(静态方法只能访问静态成员)
非static方法中可以访问静态成员,也可以访问非静态成员
--4--什么时候使用static
为所有对象所共用时(原因:节省空间)
--5--弊端:static的生命周期较长(到jvm虚拟机关闭时才死亡),因为是公用的,所以在调用它时如果改动了参数,
则其他对象在使用时会是改变后的值

推荐阅读