您的位置:首页 > 移动开发 > Objective-C

object 类 “equals” 方法与 “ == " 之间的差别

2016-04-07 20:28 591 查看
1. object 类 “equals” 方法与 “ == " 之间的差别

public static void main(String[] args) {

// TODO Auto-generated method stub

Object obj1=new Object();

Object obj2=new Object();

if(obj1==obj2){//==对象比较是比较引用地址即对象所在内存地址是否相同

System.out.println("两者内存地址相等");

}else{

System.out.println("两者内存地址不等");

}

int a=3;

int b=2;

if(a==b){
//==基本数据比较是比较两个值是否相等

System.out.println("两者值相等");

}else{

System.out.println("两者值不等");

}

if(obj1.equals(obj2)){//equals是比较两个对象的是否相同,只能用于比较对象引用

System.out.println("obj1与obj2是同一个对象");

}else{

System.out.println("obj1与obj2不是同一个对象");

}

}

2.基本数据变量,引用变量和对象存储位置的差异

基本数据类型变量和引用变量是存储在栈内

对象存储在堆内

引用变量存储单元存储值为该对象在堆中的值

构造方法 this super 的用法

public class Bird extends Animal {

public Bird(){//构造bird的方法

super("我");//super调用父类的构造方法并给name赋值

this.name="小黄";//表示当前类,通过this.可以调用当前类所有成员变量和成员方法

super.say();//super表示调用父类的say()方法

this.say();//this指定本类的say()方法

//System.out.println("小小鸟");

}

public void say(){

// Bird bird=new Bird();

// bird.name="你";

System.out.println(name+"笨鸟先飞");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: