静态方法中不能直接访问同一类中的非静态成员,而必须先创建对象,再通过对象访问成员。谁能例子???
展开全部
public class Ex
{
int i =123;
public static void main(String args[])
{
int temp = 0;
//temp = i;
//System.out.println(temp);
Ex e = new Ex();
temp = e.i;
System.out.println(temp);
}
}
注释掉的就是不能直接访问的例子
{
int i =123;
public static void main(String args[])
{
int temp = 0;
//temp = i;
//System.out.println(temp);
Ex e = new Ex();
temp = e.i;
System.out.println(temp);
}
}
注释掉的就是不能直接访问的例子
追问
不是 我想要一个 类的成员函数是静态的方法 怎么访问同时这个类中定义的非静态成员函数和成员变量
追答
人家方法里的局部变量只作用在那个方法里,你想访问干嘛?真想拿到他的数值你定义个静态去成员变量,在那个方法里把局部变量赋给成员变量吧,不过要new对象
public class Ex
{
int i =123;
static int Temp;
public static void A()
{
System.out.println(Temp);
}
public int B()
{
int x = 100;
return x;
}
public static void main(String args[])
{
Ex e = new Ex();
Temp = e.B();
e.A();
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义一个User类,类中有name属性,age属性,say()方法
如果你要再main函数中使用say()方法
你必须 User user = new User() ;
user.name="tom" ;
user.say() ;
如果你要再main函数中使用say()方法
你必须 User user = new User() ;
user.name="tom" ;
user.say() ;
追问
我说的不是静态的Main() 是类里面定义的静态方法 如何访问到类里定义的其他非静态的方法和成员变量
追答
静态方法,只能访问静态的属性...
静态方法中访问非静态方法只能通过实例化当前类,用当前类调用该非晶态方法.
public class Test {
static String name ;
public static void demo1(){
name = "a" ; //只能够调用静态属性
Test test = new Test () ;
test.demo2() ; //调用非静态方法,必须实例化当前类,使用类.方法名
}
public void demo2(){
this.demo3();//在非静态类中,可以直接调用静态类.
Test.demo3() ; //类名.方法名
System.out.println("demo2");
}
public static void demo3(){
System.out.println("demo3");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在静态方法中用非静态成员的类名创建一个对象,再用对象调用这个非静态成员。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询