object 类 “equals” 方法与 “ == " 之间的差别
2016-04-07 20:28
696 查看
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+"笨鸟先飞");
}
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+"笨鸟先飞");
}
相关文章推荐
- Objective C类方法load和initialize的区别
- Object-C中的内存管理 MRC、ARC以及Autoreleasepool的区别
- salesforce 零基础开发入门学习(十一)sObject及Schema深入
- js为object动态添加属性
- Objective-C(Swift) IBDesignable/IBInspectable
- Object C学习笔记16-委托(delegate)
- 3、Object对象的两大方法(hashCode-equals)总结
- 【Objective-C】04-第一个OC程序解析
- objective-c 输出格式符
- Objective-C NSString 操作
- python3学习笔记1--TypeError: 'dict' object is not callable的解决
- ES5规范之Object增强
- Objective-c MRC内存管理-野指针
- JSONObject put,accumulate,element的区别
- Objective-c 内存管理-僵尸对象
- Objective-c 内存管理-内存泄漏
- Objective-C 对 URL 进展 URLEncode 编码
- AutoCAD中ObjectARX C++常用的方法
- Gson基本操作,JsonObject,JsonArray,String,JavaBean,List互转
- 重构13天 抽取方法对象(Extract Method Object)