Java对象怎么调用
2015-12-06 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
java对象中,除了基本类型,其他对象传递都是地址传递,虽然java取消了指针的设定,但是其内部还是使用指针操作的,定义一个对象就相当于定义了一个对象类型的指针,这个指针的值为null,如果不进行初始化的话自然会报空指针异常,也就是NullPointerException。即使是基本类型,如果不初始化直接调用的话一样会报异常的。
上面的main方法中,map对象只是被创建并没有初始化,只是在前面创建了一个Map类的指针但并没有告诉系统具体指向,也就是map的值为null。
如以下方式:
static Map map;
public static void main(String[] args)
{
map=new Map();
map.seach();
}
程序就可以正常运行。
这两种创建对象的方法都是可以的。第一种在方法外创建就是作为一个类的属性,这个时候这个对象的生存周期是相当长的,你可以在一个方法中初始化后在其他方法中继续调用,其他方法对其造成的修改会都会影响到下一次调用的结果。甚至可以在其他类中调用这个变量。当然如果调用到的是没有初始化的对象一样会报空指针。
后一种方式是在方法中创建对象进行操作,这时候这个对象的生存周期只限制于这个方法。每次调用这个方法的时候都会重新创建一个这样的对象。想将这个对象拿出去只有在创建后用set方法或者是使用return 返回。
例如:
Map map=new Map();
map.seach();
//假设OtherObj对象有setMap方法,使用set方法取出map对象
OtherObj.setMap(map);
或者就写成:
public Map getMap(){
Map map = new Map();
return map;
}
此外,static标记表示这个对象是类共有的,调用的时候甚至不需要创建你这个类的对象直接通过类名就可以调用出来。例如jdk中的java.awt.Color类里面可以直接取出一些特定的颜色,只需要调用Color.RED等方法即可。不需要另外创建Color对象
上面的main方法中,map对象只是被创建并没有初始化,只是在前面创建了一个Map类的指针但并没有告诉系统具体指向,也就是map的值为null。
如以下方式:
static Map map;
public static void main(String[] args)
{
map=new Map();
map.seach();
}
程序就可以正常运行。
这两种创建对象的方法都是可以的。第一种在方法外创建就是作为一个类的属性,这个时候这个对象的生存周期是相当长的,你可以在一个方法中初始化后在其他方法中继续调用,其他方法对其造成的修改会都会影响到下一次调用的结果。甚至可以在其他类中调用这个变量。当然如果调用到的是没有初始化的对象一样会报空指针。
后一种方式是在方法中创建对象进行操作,这时候这个对象的生存周期只限制于这个方法。每次调用这个方法的时候都会重新创建一个这样的对象。想将这个对象拿出去只有在创建后用set方法或者是使用return 返回。
例如:
Map map=new Map();
map.seach();
//假设OtherObj对象有setMap方法,使用set方法取出map对象
OtherObj.setMap(map);
或者就写成:
public Map getMap(){
Map map = new Map();
return map;
}
此外,static标记表示这个对象是类共有的,调用的时候甚至不需要创建你这个类的对象直接通过类名就可以调用出来。例如jdk中的java.awt.Color类里面可以直接取出一些特定的颜色,只需要调用Color.RED等方法即可。不需要另外创建Color对象
展开全部
java对象中,除了基本类型,其他对象传递都是地址传递,虽然java取消了指针的设定,但是其内部还是使用指针操作的,定义一个对象就相当于定义了一个对象类型的指针,这个指针的值为null,如果不进行初始化的话自然会报空指针异常,也就是NullPointerException。即使是基本类型,如果不初始化直接调用的话一样会报异常的。
上面的main方法中,map对象只是被创建并没有初始化,只是在前面创建了一个Map类的指针但并没有告诉系统具体指向,也就是map的值为null。
如以下方式:
static Map map;
public static void main(String[] args)
{
map=new Map();
map.seach();
}
程序就可以正常运行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以基类Object为例,新建对象s,t:Object s=new Object();Object t=new Object();s,t称为对象句柄或引用,java就是通过它来调用对象的,如判断两个对象内容相同可以这样引用s.equals(t),s对象调用方法equals(Object obj)。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
类名.属性名。
追问
类对象属性之间什么关系啊
追答
创建了类,才有对象,每个对象有自己的特性。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询