简单JAVA类

类和对象

类和对象的关系:类代表一个群体,对象代表群体里的一个个个体。比如:一个类叫Student 对象可以为student01 。
类的格式: class类名称{}
对象的格式 :类名称 对象名称 = new 类名称()

//自定义一个类。
class Student{
String name ;
int age ;
}
public static void main(String args[]){
	//定义并实例化一个对象。
	Student stu = new Student() ;
}

对象产生分析

对象是一个引用类型,所有的引用类型必须开辟空间才可以引用否则会出现

NullPointer Exception

这样的报错,这个错误会伴随我们的开发生涯,大家遇到可以检查一下是否开辟了空间。
引用类型指的就是内存空间的操作
下面我们来分析一下对象的产生

对象的产生是:Student stu = new Student() ;
这里的 new 关键字就是开辟空间的过程 。
开辟空间主要是堆空间和栈空间(目前我们简单Java类涉及)。堆空间是保存真正的数据的,栈空间是保存堆的内存地址的即堆内存的操作权。
我们下面分布解析一下对象产生的过程。
首先Student stu = null ;声明对象名称
然后stu = new Student();开辟一个堆内存空间,并且内存的地址存放到栈内存当中即stu指向这个堆内存。

stu.name = "张晓伊" ;
stu.age = 18 ;

这样我们就得到了一个姓名叫张晓伊年龄18的学生对象。
堆和栈的内存图

引用传递分析

引用传递即一个堆内存被多个栈内存引用 还是上面堆栈的理解敲个码

Student stu01 = new Student() ;
stu01.name = "小三";
stu01.age = 18 ;
Student stu02  = stu01 ;
stu02.name = "小三丫";

上面代码就是一个一个堆内存被多个栈内存重复调用的例子。
最后结果是输出一个姓名为小三丫年龄为18的学生对象。

垃圾内存

垃圾内存就是我们同时去new一个实例化对象。然后把stu02=stu01;
这样我们一开始开辟的stu02所指向的堆内存就没有栈内存指向了,这样的堆内存空间我们称之为垃圾内存。垃圾内存会被Java内置的GC回收掉,开发过程中我们要注意避免造成过多的垃圾内存。

private 修饰

在Java的简单类中为了提高私密性我们会用private来修饰我们的属性做到外部类没法调用。

class Student{
	private String name ;
	private int age ;
}

在就是我们用private去修饰的对象属性。但是没办法调用。我们需要写一个set方法和get方法去实现调用。

public void setName(String name){
this.name = name ;
}
public void setAge(int age){
this.age = age ;
}
public String getName(){
	return this.name ;
}
public int getAge(){
	return this.age ;
}

构造方法

构造方法定义格式 :类名称()
每个类中必定有一个无参构造方法,如果没有系统会自己创建一个
像在定义对象的时候就用到了构造方法:
Student stu = new Student() ;
这个里面的Student() 就是一个无参构造方法。
类中除了可以又构造方法之外还可以又其他普通方法

总结

上面内容做一个总结打一个简单Java类模型

class Student{
	private int id;
	private String name ;
	private String sex ;
	private String address ;
	private double score;
	private int age ;

	public Student(){}

	public Student (String name , int id, String sex, String address, double score ,int age ){
	setName(name);
	setId(id) ;
	setSex(sex) ;
	setAddress(address) ;
	setScore(score) ;
	setAge(age);
	}


		


	public void setName (String name){
		this.name = name ;
	}
	public void setId (int id){
		this.id = id ;

}
	public void setSex(String sex){
		this.sex =sex ;
}
	public void setAddress(String address){
		this.address =address ;
}
	public void setScore(double score){
		this.score = score ;
}
	public void setAge(int age){
		this.age = age ;
} 
	public String getName(){
		return name ;
}
	public int getId(){

		return id ;
}
	public String sex(){
		return sex ;
	}
	public String getAddress(){
		return address ;
	}
	public double getScore(){
		return score ;
	}
	public  int getAge(){
		return age ;	
}
 		public String getInfo(){
			return "姓名:"+name+"\n"+"学号:"+id+"\n"+"性别:"+sex+"\n"+"地址:"+address+"\n"+"成绩:"+score+"\n"+"年龄:"+age ;
				
	}

}
public class TestDemo {
	
	public static void main (String args[]){
		System.out.println(new Student("张三",2017025,"男","太平洋比基宁海滩",100.0,18).getInfo());
}	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值