友类,肯定是某人杜撰的名词。
上面的toString()不过是一个override的方法,比如在print(p)时才会自动被调用
Point p=new Point()是不会去调用这个方法的。

解决方案 »

  1.   

    同意楼上的说法,友类是字误或者是友好类型类的简称把。  在java中每个对象都有一个ToString函数,在需要对象为string 类型时,会自动调用该函数。
      

  2.   

    不知道我理解的对不对,只要在某个类存在如下方法:
    public String toString() {
    return "(" + x + "," + y + ")";
    }
    使用print(p)都会自动调用该方法,对吗?
    能否将第二个问题说明一下,谢谢!
      

  3.   

    protected int x,y;
    是定义x,y的访问权限为保护类型,既在同一个Package 或者该类继承类中才能访问x,y.
      

  4.   

    1、在同一个包内类的叫友元类;
    2、protected int x,y; == int x,y; 为保护成员
    3、对于toString()这有在某个对象的需要转换为String时,会默认调用此方法!
      

  5.   

    那在定义时不使用“protected”会有什么问题吗?
      

  6.   

    to sep1875(apple) ,你说的很对,就这个意思。
      

  7.   

    要看具备情况,不能一概而论!有的时候protected有用!有的时候可有可无!
    如果你是初学者你最好把书上的例子多试几次!去掉一部分看看是否可以,如果不可以在书上找答案!不要太依靠书了!做破坏性实验!
      

  8.   

    缺省是friendly访问权限。只能在package 范围内访问它。 你可以看看help里的 protected keyword.里面都有的。
      

  9.   

    使用private定义数据成员实现对该成员的营藏,对应的会有一种称为mutator的函数实现该成员的读取

    setX()
    getX()
      

  10.   

    如果加上修饰protected,那么这个类的子类、同一个包里面的类都可以访问到
    如果不加上修饰,只有同一个包里面的类可以访问,它的子类(假设不在同一个包里面)就不能访问了
      

  11.   

    那么在属性没有任何修饰符的时候,默认为package-protected,那么这种时候是不是也叫做友元呢?没听说在java中有友元的概念,下面是摘自某处的内容Java在类封装的句法上是不同的,其中最大的不同是每个类的成员的默认类型都是友元,这样在同一个包中,该元素对于其它类都是可见的。同样的,protected不但在子类是可见,而且对于同一个包中的其它类也是可见的。因此,Java的private protected才和C++的protected具有相同的含义---------------------------------------------
    只是说java与C++的意义上的类似,但是我从来没有在哪里看到有关java的友元的概念。