对象:
java程序中的对象:
本质上是一种特殊的数据结构
对象是由类new出来的,有了类就可以创建对象
对象在计算机的执行原理:
- student s1=new student();
- 每次new student(),就是在堆内存中开辟一块内存区域代表一个学生对象
- s1变量里面记住的学生对象的地址
类:
类中定义的变量也叫成员变量(对象的属性) ,类中定义的方法也称成员方法(对象的行为)
成员变量存在默认值(0.0 or null)
一个代码文件,可以写多个class类,但只能一个用public修饰
//用public修饰的class必须成为文件名
对象与对象之间的数据不会相互影响,但多个变量指向同一个对象就会相互影响
this:
this就是一个变量(c++的this是指针),可以用在方法上,来指定当前对象。
构造器:
创建对象时,对象就会调用构造器。
java
public student()
{
System.out.println("无参构造触发");
}
public student(String name,double chinese,double math)
{
System.out.println("有参构造被触发");
this.name=name;
this.chinese=chinese;
this.math=math;
}
构造器的注意事项:
1 类在设计时,如果不写析构器,java会为类自动生成一个无参构造器
2 一旦定义了有参构造器,java就不会为为类自动生成一个无参构造器,需要自己写
以下是一个学生类:
java
public class student {
public student()
{
System.out.println("无参构造触发");
}
public student(String name,double chinese,double math)
{
System.out.println("有参构造被触发");
this.name=name;
this.chinese=chinese;
this.math=math;
}
public void printTotalsum()
{
System.out.println(name+"的总成绩是"+(chinese+math));
}
public void printave()
{
System.out.println(name+"的平均成绩是"+(chinese+math)/2.0);
}
String name;
double chinese;
double math;
}
实体类:
这个类中成员变量都要私有,且对外要有get(),set(),函数
类中必须有一个公共无参构造器