构造函数的细节

来源:互联网 发布:wps数据透视表高级技巧 编辑:程序博客网 时间:2024/05/21 11:05
class Personnn{    private String name;    private int age;    //第二问  personnn前面可以加void吗    /*答   1.不行,一旦加了就不是构造函数,而是一般函数了。          2.而且,如果加了void,创建对象时会报错,因为编译器找不到personnn(),不是说有默认的吗?但是你已经定义了其他的构造函数,已经没有默认的了*/    //第三问 构造函数中有return吗?    //尝试后未报错。 因此return是存在的,也是可以添加的。    //第四问 构造函数可以调用一般方法吗? 自然是可以的 那一般方法可以调用构造函数吗?    /*不可以直接调用,例如下列 speak方法不可直接调用personnn构造函数 构造函数是给对象初始化的 连对象都没有怎么调用 真要调用的话 要在方法里new一下 自己创建一个。    */    Personnn()//构造函数    {        name = "baby";        age = 1;        System.out.println("person run");        return;    }    Personnn(String n)    {        name = n;    }    //因此,我们可以用return来进行条件判断例如:    Personnn(String n,int a)    {        if(a<0) return;//其实往构造函数里用return判定很少见 因为一般初始化时都会有校验        name = n;        age = a;    }    //第一问  有了上述初始化的构造函数后,自定义的set函数还需要吗?    public  void setname(String n) {        name = n;    }    //答  需要,自定义函数可多次调用,便于修改。    public void speak()    {        System.out.println(name+":"+age);    }}public class Demo_5 {    public static void main(String[] args) {        Personnn p = new Personnn();//构造函数:构建创造对象时调用的函数。作用:可以给对象初始化。            p.speak();//请不要出现p.Person();        Personnn p1 = new Personnn("旺财");        p1.speak();        Personnn p2 = new Personnn("小强",10);        p2.speak();    }}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 6s前摄像头进灰怎么办 手机镜头进灰了怎么办 6s摄像头进灰了怎么办 7plus摄像头进灰怎么办 苹果喇叭进灰了怎么办 苹果7摄像头进灰怎么办 锁眼里胶水堵了 怎么办 锁眼被牙签堵了怎么办 锁孔被胶水堵了怎么办 快手上不了同城怎么办 昌珉入伍宋茜怎么办 嗓子里卡了鱼刺怎么办 在餐厅吃到虫子怎么办 在餐厅吃出虫子怎么办 孕妇被虫子咬了怎么办 吃外卖吃到虫子怎么办 杯子盖拧错位了怎么办 身边有吸毒的人怎么办 如果牛难产了怎么办要 牛难产拉不出来怎么办 老公发现老婆有外遇怎么办 睡眠不好半夜老是醒怎么办 拔完智齿肿了怎么办 拔牙后咽口水疼怎么办 吃了脏东西拉肚子怎么办 微信遇到仙人跳怎么办 牙有裂痕疼应该怎么办 胸罩在学校掉了怎么办 锁屏密码忘记了怎么办 中汇支付不到账怎么办 痘痘毁容烂脸怎么办 我的手机掉了怎么办 公司不给开工资怎么办 我有卵巢老化怎么办呢 老师骂了我,我该怎么办 我的牙齿很难看怎么办 门牙摔了个缺怎么办 鱼身上鱼鳞烂了怎么办 鱼身上发白烂了怎么办 养的鱼身上烂了怎么办 婴儿被蚊虫咬了怎么办