java构造方法new的时候必须调用吗?
创建了一个构造方法,里面也包含方法体。但是我创建对象的时候(也就是new一个对象的时候)不想调用构造方法,想调用其它的方法应该怎么办。还有为什么在方法体中不能直接访问同一...
创建了一个构造方法,里面也包含方法体。但是我创建对象的时候(也就是new一个对象的时候)不想调用构造方法,想调用其它的方法 应该怎么办。还有为什么在方法体中不能直接访问同一个类的私有变量呢 希望回答全面点
展开
4个回答
2013-11-29
展开全部
构造方法 一个类被实例化的同时就会运行相应的构造方法,也就是说你创建对象的时候即使不写构造方法,也会有一个默认的空构造方法,你想在new一个对象的时候而调用其他方法,那是不可能实现的。new一个方法也就是实例化一个对象。你想访问这个对象的一个方法而不是构造方法的话,将你需要访问的方法设为static,然后直接用类名.方法名就可以访问。作用域 当前类 同一package 子孙类 其他packagepublic √ √ √ √protected √ √ √ ×friendly √ √ × ×private √ × × ×应该能帮上你
2013-11-29
展开全部
静态的方法可以直接调用,私有变量是不能直接访问的,这是为了保护,虽然不可以直接调用,但是我们可以间接调用,这样既可以起到保护的作用,也可以调用!静态方法://=====================================public class a { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new b().show();//你的意思是这样调用吗?不是的找我喔!
}}
class b{ public static void show(){
System.out.println("这是一个静态没有返回值的方法!");
}
} ==========================================\\间接调用私有变量class Student { private String name = null;
//间接调用私有name
public String GetName(){
return name;
}
//间接给私有name赋值
public void SetName(String name){
this.name = name;
}
} public class clas{
public static void main(String args[]){
//调用
Student s = new Student();
s.SetName("张三");
System.out.println(s.GetName());
}
}
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new b().show();//你的意思是这样调用吗?不是的找我喔!
}}
class b{ public static void show(){
System.out.println("这是一个静态没有返回值的方法!");
}
} ==========================================\\间接调用私有变量class Student { private String name = null;
//间接调用私有name
public String GetName(){
return name;
}
//间接给私有name赋值
public void SetName(String name){
this.name = name;
}
} public class clas{
public static void main(String args[]){
//调用
Student s = new Student();
s.SetName("张三");
System.out.println(s.GetName());
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是必须调用的。
解释:先来明确下概念。构造方法实际上是类名字,之后方法的参数自定义的形式来实现的。
那么构造方法进行实例化过程,实际上就是创建一个类的实例,那么可以是创建的无参构造方法,也可以创建的是实参构造方法,此时实际上就是一个方法构造过程,也就是说必须调用。并且此过程中只能是创建对应的构造方法,不可能调用其余的方法(如果是普通的方法定义,那和构造方法就没啥关系了,本身就不属于此范畴)。
解释:先来明确下概念。构造方法实际上是类名字,之后方法的参数自定义的形式来实现的。
那么构造方法进行实例化过程,实际上就是创建一个类的实例,那么可以是创建的无参构造方法,也可以创建的是实参构造方法,此时实际上就是一个方法构造过程,也就是说必须调用。并且此过程中只能是创建对应的构造方法,不可能调用其余的方法(如果是普通的方法定义,那和构造方法就没啥关系了,本身就不属于此范畴)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-29
展开全部
用static ~~!!希望能够帮助你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询