private 必须要有setter getter
但是必须要包括一个无参构造方法
类中所有的方法都不允许有system.out.println语句
类中有返回完整信息的方法 ,即getinfo()
private 必须要有setter getter
但是必须要包括一个无参构造方法
类中所有的方法都不允许有system.out.println语句
类中有返回完整信息的方法 ,即getinfo()
1.简单Java类开发的一些原则:
(1)类的定义应该有意义,能够明确描述某一类事物。
(2)成员变量必须用private关键字封装,所有属性必须提供setter和getter方法。
(3)类中可以定义多个构造方法,但必须有一个无参数的构造方法。
(4)类中的方法不可以出现system.out...,输出交给调用处实现。
(5)类中应该提供有一个返回类完整信息的方法,这个方法名称public String getInfo().{
return .........
}
第一个代码模型:简单java类
现在假设有这样一个要求,定义一个雇员类,该类中会包含雇员编号,姓名,职位,基本工资,佣金几个属性信息。
那么这种类称为简单java类,既然是简单java类就有自己明确的开发要求:
//简单java类
class Student{
private int id;
private String name;
private String sex;
private int grade;
private double score;
public Student(int i,String n,String s,int g,double so) {
setId(i);
setName(n);
setSex(s);
setGrade(g);
setScore(so);
}
public void setId(int i) {
id = i;
}
public void setName(String n) {
name = n;
}
public void setSex(String s) {
sex = s;
}
public void setGrade(int g) {
grade = g;
}
public void setScore(double so) {
score = so;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getSex() {
return sex;
}
public int getGrade() {
return grade;
}
public double getScore() {
return score;
}
public String getInfo() {
return "id= " + id + ",name= " + name + ",sex= " + sex + ",grade = " + grade +",score = " + score;
}
}
public class Class14{
public static void main(String args[]) {
Student kai = new Student(1,"wangkai","man",2,90.0);
System.out.println(kai.getInfo());
}
}
class Simple {
private String Name;
private int Id;
private int Age;
public Simple(String s,int i,int a) {
setName(s);
setId(i);
setAge(a);
}
public void setName(String name) {
Name = name;
}
public String getName() {
return Name;
}
public void setId(int id) {
Id = id;
}
public int getId() {
return Id;
}
public int getAge() {
return Age;
}
public void setAge(int age) {
Age = age;
}
public String getInfo() {
return "Name=" + Name + "\n" + "Id=" + Id + "\n" + "Age=" + Age + "\n";
}
}
public class SimpleJavaClass {
public static void main(String args[]) {
System.out.println(new Simple("Gft",32,22).getInfo());
}
}
对象内存分析
1. new表示开辟新的内存空间
2.两个内存空间
堆内存空间:保存真正的数据,保存的是对象的属性信息
栈内存空间:保存的堆内存的地址,堆内存操作权,保存的是对象的名称
3.引用的本质是别名,只不过这个别名放在了另一个栈内存之中,即一个堆内存可以被多个栈内存所指向
4.垃圾内存空间指的是没有任何栈内存指向的堆内存空间,所有的垃圾空间将不定期被Java中的垃圾收集器(GC,Garbage Collector)进行回收以实现内存空间的释放,不过从实际开发来讲,虽然java提供有gc,但gc也会造成程序性能的下降,所以开发过程中一定要控制好对象的产生数量,即无用的对象应尽量少产生。
5.匿名对象不会有任何的栈空间所指向,所以使用一次后变成为垃圾空间
匿名对象:Person("Mike",20).info()
Java类开发要求
1.类名称必须明确的描述出某一类事务,如Member、Dog
2.类的属性必须用private封装,所有的属性必须按照要求提供有setter、getter方法
3.类中可以定义多个构造方法,但必须保留一个无参构造方法
4.类中的所有方法都不允许出现任何的System.out语句,所有的输出必须交给调用处完成
5.类中应该提供有一个返回类完整信息的方法,这个方法名称暂时为getInfo()
简单Java类;
写10个简单Java类,
要求每个类中必须至少5个属性。
类中的属性必须用private封装
属性必须按要求提供setter,getter方法;
类中必须保留一个无参构造方法,可以定义多个构造方法
类中的方法都不允许出现system.out的语句
类中必须提供一个返回类完整信息的方法。
简单java类:
属性
构造方法
setter方法
getter方法