对象的创建和使用

int i=10;//int是基本数据类型 i是变量名 10是int类型的字面值

Student s=new Student();//new Student()它在堆内存中创建空间,只有创建了对象才能访问属性,s是局部变量在栈内存中创建空间,s同时是一个引用指向了堆内存中的对象

s.no();//访问实例变量的语法格式:引用.变量名 (读取数据)引用.变量=值 (修改数据)

注意:

  在一个类体中方法体外那就是成员变量

  通过类实例化对象所以叫实例变量

  同时必须创建对象才能使用属性那么就是对象变量

局部变量在栈内存中存储

成员变量之实例变量在堆内存的java内部存储

实例变量一个java对象有一份

 

 

属性必须有对象才能访问所以是队形级别的变量 不能通过类名点的方式访问只能先创建再访问,先创建的时候对象的时候就是在堆内存中创建一块内存空间, 栈内存中的 变量名 引用指向了堆内存地址。

public class User{

  int no;//int是基本数据类型 no是实例变量

  String name;//String是引用数据类型 那么name是实例变量同时也是引用

   Address address;//Address是引用数据类型,那么是实例变量address同时也是引用

}

====================

public class Address
{
String city;
String street;
String postal;

}

 

public class User
{
int no;
String name;
Address addr;
}

 

 

public class OOTest03
{
public static void main(String[] agrs){
User u =new User();
Address a=new Address();
u.addr=a;
System.out.println(u.addr.city);//null
a.city="hd";
System.out.println(u.addr.city);//null

}
}

 

 

 

 

public class Husband
{
String name;
Wife w;
}

public class Wife{
String name;
Husband h;
}

public class OOTest04
{
public static void main(String[] args){
Husband husband=new Husband();
husband.name="huangxioaming";

Wife wife=new Wife();
wife.name="bady1";

husband.w=wife;
wife.h=husband;
System.out.println(wife.h.name);
System.out.println(husband.name);

}
}

 

 

 

 

public class OOTest05
{
public static void main(String[] args){

Computer computer=new Computer();
Student student=new Student();
student.c=computer;
System.out.println(student.c.brand);

}
}

public class Computer
{
String model;
String color;
String brand;
}

 

public class Student
{
int stuNo;
String name;
Computer c;
}

 

 

 

 

==================

public class OOTest06
{
public static void main(String[] args){
Ren ren=new Ren();
ren.name="zhangsan";
BieShu fangzi=new BieShu();

ren.b=fangzi;
System.out.println(ren.name);

}
}

public class Ren
{
String name;
BieShu b;
}

public class BieShu
{
Ren z;

}

posted @ 2019-12-11 10:12  动起来mygod  阅读(417)  评论(0)    收藏  举报