您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
【第5章:面向对象基础】_类与对象的进一步研究
发布时间:2020-11-24 10:43:52编辑:雪饮阅读()
对象中属性的赋值与对象中方法的调用
class Person{
String name;
int age;
public void tell(){
System.out.println("姓名:"+name+",年龄:"+age);
}
}
public class Hello{
public static void main(String args[]){
Person per = null;
per = new Person();
per.name = "kasumi";
per.age = 18;
per.tell();
}
}

注意:
name属性是Sting类型不可以用单引号括起来,这点和php不一样,单引号括起来在java中是char类型
如果这里name赋值用的是单引号会报错如:

空指针
class Person{
String name;
int age;
public void tell(){
System.out.println("姓名:"+name+",年龄:"+age);
}
}
public class Hello{
public static void main(String args[]){
Person per = null;
per.name = "kasumi";
per.age = 18;
per.tell();
}
}

像是这样没有实例化一个对象,仅仅在栈内存中声明了,然后就直接给对象属性赋值或者调用其方法,属于空指针行为,会报空指针错误。
不同的对象是不同的个体
class Person{
String name;
int age;
public void tell(){
System.out.println("姓名:"+name+",年龄:"+age);
}
}
public class Hello{
public static void main(String args[]){
Person per1 = null;
Person per2 = null;
per1 = new Person();
per1.name = "kasumi";
per1.age = 18;
per2 = new Person();
per2.name = "snowDrink";
per2.age = 17;
per1.tell();
per2.tell();
}
}

对象的引用
class Person{
String name;
int age;
public void tell(){
System.out.println("姓名:"+name+",年龄:"+age);
}
}
public class Hello{
public static void main(String args[]){
Person per1 = null;
Person per2 = null;
per1 = new Person();
per1.name = "kasumi";
per1.age = 18;
per2=per1;
per2.name = "snowDrink";
per2.age = 17;
per1.tell();
per2.tell();
}
}

对象引用重定向
原栈内存一对象已有引用堆内存地址然后再次对其引用另外一个堆内存地址
class Person{
String name;
int age;
public void tell(){
System.out.println("姓名:"+name+",年龄:"+age);
}
}
public class Hello{
public static void main(String args[]){
Person per1 = null;
Person per2 = null;
per1 = new Person();
per2 = new Person();
per1.name = "kasumi";
per1.age = 18;
per2.name = "snowDrink";
per2.age = 17;
per2=per1;
per1.tell();
per2.tell();
}
}

关键字词:java,类,对象,引用