小弟着刚开始学,哈哈。
public class Point
{
Point()
{

}
        Point pt=new Point();
}
在这段代码中,“Point pt=new Point();”这句话中的两个“Point”分别指的是类名,还是构造方法的名字啊?
假如执行下边这个程序
public class Point
{
Point(int x,int y)
{
x=5;
        y=5;
}
        Point pt=new Point();
}
会报错,说找不到符号。所以我想“Point pt=new Point();”这句话中的第二个Point指的应该是构造函数吧?第一个指的是类名?
“Point pt=new Point();”这句话的意思是给类Point建立一个名字叫pt对象吧?那我又感觉两个Point值得应该是类名啊。不知道我说得清楚不清楚,还望大家给指导一下哈,谢谢了。

解决方案 »

  1.   

    类 对象 = new 类的构造方法();
    大概就是上面我说的表达式。
    你第二个类中因为没有指出类的默认构造方法。所以就报错。
      

  2.   

    嗨,也许是我粗浅呀,这样写法
    public class Point 

    Point(int x,int y) 

    x=5; 
            y=5; 

    } 下面的调用
     Point pt=new Point(); 根本不会出现问题呀,因为每一个类,都会有自己的无参数的构造函数的!
      

  3.   

    会出错吗??
    JAVA都有默认的构造函数的
      

  4.   

    Point pt=new Point(1,2);这样子也可以运行 
      

  5.   

    编写类时如没有提供构造器,java系统会提供默认构造器,如定义了构造器,系统就不提供默认构造器,再使用默认构造器会报错的。
      

  6.   

    实际上没有必要分析那是类名还是构造器名,Java的类名和构造器名必须相同
      

  7.   

    这种情况下应该就要区分一下:
    class Father{}
    class Child extends Father{}
    Father f = new Child();
      

  8.   

    [Quote=引用楼主 eg366 的帖子:]
    小弟着刚开始学,哈哈。 
    public class Point 

    Point() 
    { } 
            Point pt=new Point(); 

    在这段代码中,“Point pt=new Point();”这句话中的两个“Point”分别指的是类名,还是构造方法的名字啊? 
    Point 是变量名. 即引用变量,因为跟类名一样,也叫类类型. new Point() 就是实例化Point 类, 使它产生一个对象.
    public class Point 

    Point(int x,int y) 

         x=5; 
            y=5; 

            Point pt=new Point(); 

    会报错,说找不到符号。所以我想“Point pt=new Point();”这句话中的第二个Point指的应该是构造函数吧?第一个指的是类名? 
    “Point pt=new Point();”这句话的意思是给类Point建立一个名字叫pt对象吧?那我又感觉两个Point值得应该是类名啊。  构造方法 的调用 只有在 进行类的实例化的时候 才能进行调用. 
    比如 : Point pt=new Point(100,20);  因为你的构造函数有两个参数.所以这里传两个参数.介意你先看看教程..
      

  9.   

    一个类,若没有写任何构造方法,系统会默认添加一个无参数构造方法,如你这里的Point(){};
    但若你写了一个带参数的构造方法,如你这里的Point(int x,int y){...},而没写无参数构造方法的话,系统不再会给你添加无参数构造方法,因而,你就不能再使用无参数构造方法来创建该类的实例,只能使用你写过的带参数构造方法来创建类的实例。在你没有类的继承关系(即你的类仅继承自Object,不会被其它类继承)的时候,这样写,只要记住不用无参数构造方法来创建类的实例倒也会是相安无事的;
    但一旦你写一个新类继承自这个类,只写带参数构造方法,而不写无参数构造方法,还是会出错,因为继承的新类在初始化时还会去调用被继承类的无参数构造方法。
    因此,你在重写一个类的构造方法时,写了带参数的构造方法,就应该同时写一个无参数构造方法。学习,先要认真仔细的领会相关原理,弄懂为什么比会术语解释更重要!