java成员变量、成员方法、构造函数

1.引用变量

一个类的基本内容是由成员变量、成员方法、构造函数构成的。

那其实成员变量中比较特殊的是可以引用变量。

在jvm存储上,基本类型的数据是直接存储的,而引用变量例如String,或自己创建的类,是会额外的栈去保存。

以下是一个实例:比如在人这个类中,可以有一个狗的成员变量,代表人养了这只狗。狗并不是基本的数据类型,需要自己去编写狗这个类。成员变量可以是其他的类的对象。

狗类:

public class Dog {
	//成员变量:
	String name;
	int age;
	//成员函数:
	public void showInfo() {
		System.out.println(this.name);
		System.out.println(this.age);
	}
	//构造函数:
	public Dog(String name,int age) {
		this.name=name;
		this.age=age;
	}
}

人类:

public class Person {
	//成员变量:
	String name;
	int age;
	Dog dog;//引用类型,成员变量可以是其他的类的对象。
	//成员方法:
	public void showInfo() {
		System.out.println(this.name);
		System.out.println(this.age);
		System.out.println("宠物:"+dog.name);
	}
	//构造函数:
	public Person(String name,int age,Dog dog) {
		this.name=name;
		this.age=age;
		this.dog=dog;
	}


}


主函数:

public class Quote {
	public static void main(String[]args) {
		Dog dog1=new Dog("哈士奇",8);
		Person p1=new Person("梦梦",19,dog1);
		p1.showInfo();
	}
}
输出结果:

java成员变量、成员方法、构造函数_第1张图片

2.静态变量Static

用static定义的类成员,它的使用完全独立于该类的任何对象,所有的 对象都可以访问它,也可以直接通过类去访问它
实例:家里的后庭散养小猫,毛会来庭院玩耍。希望知道现在猫的数量。用面对对象的方法去解决。
猫类:

public class Cat {
	String name;
	String color;
	static int num;
	
	public void joinHome() {
		System.out.println(this.color +"的小猫 "+this.name +" 进来了!");
		num++;
	}
	
	public Cat(String name,String color) {
		this.name =name;
		this.color=color;
	}

}

主函数:

public class catNumber {
	public  static void main(String[]args) {
		Cat cat1=new Cat("肥橘","黄色");
		cat1.joinHome();
		
		Cat cat2=new Cat("夜猫","黑白");
		cat2.joinHome();
		
		Cat cat3=new Cat("吃货猫","纯白");
		cat3.joinHome();
		
		//每一个对象都可以去访问它
		System.out.println(cat1.num);
		System.out.println(cat2.num);
		System.out.println(cat3.num);
		//也可以直接用类去访问
		System.out.println(Cat.num);
	}

}

运行结果:

java成员变量、成员方法、构造函数_第2张图片



你可能感兴趣的:(JAVA)