当前位置: 技术问答>java相关
java初学者的几个问题。
来源: 互联网 发布时间:2015-10-28
本文导语: 我初学JAVA,在看THINK IN JAVA 遇到几个问题,希望大家指教!谢谢! 1.关于构造函数,书上说:“the default constructor is the only one defind,and it is private.”就是说默认的构造函数是private的,那么我们就不能直接用...
我初学JAVA,在看THINK IN JAVA 遇到几个问题,希望大家指教!谢谢!
1.关于构造函数,书上说:“the default constructor is the only one defind,and it is private.”就是说默认的构造函数是private的,那么我们就不能直接用该构造函数来生成对象。但是下面的程序却可以:
class A
{
void f()
{
System.out.println("A.f()");
}
}
public class B
{
public static void main(String[] args)
{
A a=new A();
a.f();
}
}
为什么能构造A的对象,通过私有构造函数?
2.在派生类中调用基类中的MAIN函数时候,为什么只能用 基类名.main(args)
而不能用super.main(args)
问题比较简单,希望大家不要笑!
1.关于构造函数,书上说:“the default constructor is the only one defind,and it is private.”就是说默认的构造函数是private的,那么我们就不能直接用该构造函数来生成对象。但是下面的程序却可以:
class A
{
void f()
{
System.out.println("A.f()");
}
}
public class B
{
public static void main(String[] args)
{
A a=new A();
a.f();
}
}
为什么能构造A的对象,通过私有构造函数?
2.在派生类中调用基类中的MAIN函数时候,为什么只能用 基类名.main(args)
而不能用super.main(args)
问题比较简单,希望大家不要笑!
|
问题1,我只说我个人的理解
如果一个类不写构造方法,那么有一个默认的可以调用
如果写了任意一个,这个默认的就不存在了
问题2:main被定义成静态的,静态的可以super吗?我没听过
如果一个类不写构造方法,那么有一个默认的可以调用
如果写了任意一个,这个默认的就不存在了
问题2:main被定义成静态的,静态的可以super吗?我没听过