java中只能通过对象来访问类的属性或者方法吗?
比如:classA{inta;voida(){a=10;}}以上代码中,没有new对象不是也成功的访问到a属性了吗?...
比如:class A{
int a;void a(){
a = 10;
}
}
以上代码中,没有new对象不是也成功的访问到a属性了吗? 展开
int a;void a(){
a = 10;
}
}
以上代码中,没有new对象不是也成功的访问到a属性了吗? 展开
4个回答
展开全部
按照上述写法其实只是在类中写了个方法将属性初始化了而已!
一般在一个类中写的属性都会写成是私有的属性,如:private int a;然后给其加上set和get方法,在类的外部通过这两个方法访问类的属性;
至于方法,在外部访问同样需要new对象来访问的;
//类A
public class A {
int a;
void a(){
a=10;
}
}
//在类B中访问类A的属性
public class B {
public void b(){
A aa = new A();
aa.a = 10;//若写成a=10;就会报错
aa.a();//同样写成a()也会出错
}
}
追问
也就是说,只要是外部访问,都必须让类先实例化才行,对吧?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
利用java的反射机制,可以不用new,一般属性要封装的,没有封装的属性,可以用对象.属性名,但经过封装的属性用对象.属性名则不行,须调用对用的getter方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-04
展开全部
不是的 你可以去看看相应的API文档 里面写的很清楚
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询