学生类
学生类是一个模板
描述了所有学生的共同特征【状态,行为】
当前类只描述学生的状态信息【属性】
public class Student{
String name;//姓名
boolean sex;//年龄
String add//住址
}
类体=属性+方法
属性【存储数据采用变量的形式】
由于变量定义再类体当中,方法体之外,这种变量称为成员变量
所有学生都有学号信息
但是每一个学生的学号都是不同的
所以要访问这个学号必须先创建对象,通过对象去访问学号信息
学号信息不能直接通过“类”去访问,所以这种成员变量又称为实例变量
对象又称为实例,实例变量又被称之为对象变量【对象级别的变量】
不创建对象,这个name变量的内存空间是存在的,只有创建了对象,这个name变量内存空间才会创建
public class OOA1{
public static void main(String[] args){
//int是一个基本数据类型
//i是一个变量名
//10是一个int类型的字面值
int i=10;
//通过一个类可以实例化N个对象
//实例化对象的语法,new类名();
//new是java语言当中的一个运算符
//new运算符的作用是创建对象,在JVM堆内存当中开辟新的内存空间
//方法区内存:在加载类的对象时候,class字节代码片段被加载到该内存空间当中
//栈内存(局部变量):方法代码片段执行的时候,会给该方法分配内存空间,在栈内存中压栈
//堆内存:new对象在堆内存中存储
//Student是一个引用用类型
//new Student()是一个学生对象
//s是一个局部变量【在栈内存中存储】
//什么是对象?new运算符在堆内存中开辟的内存空间称为对象
//什么是引用?引用是一个变量,只不过这个变量中保存了一个Java对象的地址
//Java语言中,程序员不能直接操作堆内存,Java中没有指针
//Java语言中,程序员只能通过“引用”去访问堆内存当中对象内部的实例变量。
Student s=new student();
//访问变量名的语法格式:
//读取数据:引用.变量名
//修改数据:引用.变量名=值;
int stuName = s.no;
//实例变量不能直接采用“类名”的方式访问,实例变量为对象级别的变量,变量存储在java对象的内部,必须现有对象,通过对象才能访问实例变量。
}
}
//地址类
public class address{
//属性:以下变量为成员变量之实例变量
//城市
String city;
//街道
String street;
//邮编
String zipcode;
}
//用户类
public class User{
//属性:以下变量为成员变量之实例变量
//用户编号
//int 是一种基本类型数据:整数型
//no是一个引用
int no;
//用户住址
//String是一种引用数据类型:代表字符串
//name是一个实例变量
//name是一个引用
String name;
//家庭住址
//address是一种引用类型的数据:代表家庭住址
//addr是一个实例变量
//addr是一个引用
address addr;
}
public class text2{
public class void main(Strint[] args){
//创建User对象
//u是局部表变量
//u是一个引用
//u保存内存地址指向堆内存的User对象
User u = new User();
//输出User对象内部实例变量的值
System.out.println(u.no);//0
System.out.println(u.name);//null
System.out.println(u.addr);//null
//修改对象内部的实例变量
u.no = 100;
u.name = "jack";
u.addr = new Address();
//在main方法中只能看见一个引用“u”
//一切都是只能通过u进行访问的
System.out.println(u.name+"居住在那个城市:"+u.addr.city);
}
}
//丈夫类
public class Husband{
//身份证号码
String name;
//丈夫对象当中含有妻子的引用
Wife w;
}
//妻子类
public class Wife{
String name;
//妻子对象中含有丈夫的引用
Husband h;
}
public class OOText04{
public class void main(String[] args){
//创建一个丈夫对象
//创建一个妻子对象
Husband huangxiaoming = new Husband();
Wife baby = new Wife();
//结婚【妻子可以找见丈夫,通过丈夫可以找见妻子】
huangxiaoming.w=baby;
baby.h=huangxaioming;
System.out.println(huangxianming.w.name);
}
}



