package 大作业2;public class Circle {
private int radius; public int getRadius() {              
return radius;
} public void setRadius(int radius) {         //这个地方为啥要在括号里加东西啊
this.radius = radius;                           //这个地方的 两个radius 有啥区别啊?意义在哪儿啊?
} public Circle(int radius) {                       //这两句最搞不懂,为什么要把这个类拿出来啊?和下面的那个Circle有啥区别啊~~

this.radius = radius;
} public Circle() {

}
public double area(){
return radius*radius;
}
}           
问题就是我红色部分的, 我是一个初学者,但是我爱JAVA,特来此求解,希望大神解答><

解决方案 »

  1.   

    public Circle(int radius) 
    {
    this.radius = radius;
     }
    这句 是构造方法,用于创建对象时初始化成员变量,一般不写的话会有一个默认的无参构造器
    public void setRadius(int radius) {     
    this.radius = radius;       
    }
    这句是封装后的成员变量赋值语句,封装后私有化成员变量无法直接被外界调用,所以需要用方法来进行赋值 和获取
      

  2.   

    谢谢你呀!我基本上懂了,但是还有个问题,   
    Public class circle (){和Public circle{   
    这俩东西,  第一个是构造方法,可以在括号里写运算方法,
    第二个是一个类,是这样吗?
      

  3.   

    楼主才学JAVA吧,刚刚学面向对象时间不长对不对?你发的这段代码包含四个知识点
    第一,普通类成员变量的访问权限,就是private这个是私有的意思,只有本类里面才能使用
    第二,要对这种成员变量操作(赋值,取值),就要使用公开的操作方法,set和get方法。
    第三,构造器,默认是无参空白的构造器
    第四是构造器的重载,这个可能面向对象学完才会有体会,就是创建对象的时候我可以通过调用不同的构造器,来创建稍微有点不同的同一类对象。
    以上就是本人拙见,敬请各位大神批评。
      

  4.   

    谢谢,我基本懂了,所以说构造方法,就是   Public bank(){
    This ("",0,0)
    }
    Public bank(string name,int num,float balance)这就是一个构造方法吗?
      

  5.   

      重新学习一下java基础吧,this代表这个类本身 , this.xx = xx   意思就是说  你这个类的xx属性 == 传进来的xx属性。
      

  6.   

    请问,public class circle{
    和Public circle(){这俩啥区别啊
      

  7.   

    请问,public class circle{
    和Public circle(){这俩啥区别啊
      

  8.   

    public class circle{
    代表的是创建一个类,class是类的关键字,circle是类名
    Public circle(){这个是circle这个类的构造方法
      

  9.   

    建议楼主看《java疯狂讲义》
      

  10.   

    public void setRadius(int radius) {    
        this.radius = radius;                         
    }
    这个方法是用来给这个类的对象中变量radius赋值用的,this代表了当前对象,this.radius就是当前对象的radius变量值,后面的radius和括号里的radius是一样的,你赋值的时候,想赋值多少,就在括号里写多少。public Circle(int radius) {                     
        this.radius = radius;
    }
    这个地方是重载了构造方法,就是说你实例化此类的对象时,可以直接给变量radius赋值,也可以不给变量radius赋值,就像我可以创建一个圆形对象,也可以创建一个半径是10的圆形对象,这两种方法都可以实例化对象,任意取用。
      

  11.   

    第一个问题:一般咱们创建类,定义完变量后,可以直接 Generate 生成 set 和 get ,其中的 get 方法就跟你写的那个一样,就是问了获取变量的,this 指当前类的成员变量;
    第二个问题:构造函数加参数,是为了方便咱们将类进行实例化,或者在有类继承它的时候,可以直接调用有参的构造函数。我写了一篇专门介绍构造函数的博文,有兴趣的话,可以看看,链接如下:http://blog.csdn.net/qq_35246620/article/details/55096625