java一个类的成员变量在构造函数里面和外面有什么不同
publicclassMainFrameextendsJFrame{publicJButtonstart=newJButton;//1publicstaticJButto...
public class MainFrame extends JFrame{
public JButton start = new JButton; //1
public static JButton stop = new JButton; //2
public MainFrame(){
JButton pause = new JButton; //3
}
public String getCompText(JComponent comp) {
return comp.getText(); //4
}
public static String getCompText(JComponent comp) {
return comp.getText(); //5
}
}
比较1和2;1、2和3;4和5;为什么要有static 才能被别的类通过MainFrame. 引用?不是public就可以了吗? 展开
public JButton start = new JButton; //1
public static JButton stop = new JButton; //2
public MainFrame(){
JButton pause = new JButton; //3
}
public String getCompText(JComponent comp) {
return comp.getText(); //4
}
public static String getCompText(JComponent comp) {
return comp.getText(); //5
}
}
比较1和2;1、2和3;4和5;为什么要有static 才能被别的类通过MainFrame. 引用?不是public就可以了吗? 展开
4个回答
展开全部
作用范围不同,在里面的只在构造函数里面起作用,外面的话整个类都可以调用它,类成员还有不同的修饰符,被访问的范围也不同。觉得你说的还不是明白,具体点的话就更好说了。。。。
-------------------------------------------------------------------------------------------------------------------
在构造函数里声明的变量在同类中的其他方法是调用不到的,就像stop一样,不能再其他的方法中调用。static的声明作用是:在类加载前就已经加载,早于类的加载,可用类名直接调用,如MainFrame.getComText(comp),没有static的声明的话,可先创建对象,再调用即可,如MainFrame f=new MainFrame();f.getComText(comp)。
-------------------------------------------------------------------------------------------------------------------
在构造函数里声明的变量在同类中的其他方法是调用不到的,就像stop一样,不能再其他的方法中调用。static的声明作用是:在类加载前就已经加载,早于类的加载,可用类名直接调用,如MainFrame.getComText(comp),没有static的声明的话,可先创建对象,再调用即可,如MainFrame f=new MainFrame();f.getComText(comp)。
追问
在类加载前已经加载是什么意思?有什么应用?
追答
简单点就是直接用类名调用,不用创建实例
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
成员变量?
JAVA有类变量。有公共变量、私有变量、protected变量,还有静态、final
JAVA有类变量。有公共变量、私有变量、protected变量,还有静态、final
追问
声明放在构造函数的里面和外面有不同么
追答
在哪声明,作用就有多大
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不懂你的意思,放在里面是指你的构造函数传入参数给这个成员变量赋值吗
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加了static 是类本身的方法,当然可以
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询