JAVA学习总结7

1.什么是重载
发生在一个类中,方法名相同,参数个数,类型不同,跟返回值无关

2.什么是构造方法

  • 方法名和类相同,没有返回类型
  • 为对象分配空间
  • 初始化成员变量,打印getx办法就是因为初始化,引动的办法
  • 返回该类对象的引用,才可以用new 新变量去接收他
例如
package OO0912;
//构造方法初始化
public class MM {
public int x = getx();

public MM(){
     System.out.println("构造方法");
}
public int getx(){
     System.out.println("getx办法");
     return 1;
}
     public static void main(String[] args) {
           // TODO 自动生成的方法存根
           MM m = new MM();//在进行构造方法的时候,就会初始化x的值,x的值为一个方法,进而调用getx(),输出一个字符,并返回1给x,然后再使用构造方法里的打印犯法
     }
}
3.构造方法重载
3、说说下面的方法哪些重载了构造方法?
public class Test{
    public Test(int x){}
}
  a、public Test(int y){}是的
  b、public Test(String y){}是的
  c、public void Test(String x){}不是,构造方法没有返回类型
  d、public int Test(int y,String x){}不是的
  e、public Test(int y,String x){}是的
  f、public Test(String x,int y){}是的

4.代码测试
5、说出下列代码执行结果
 a、public  class  Test{   

public static void main(String[] args){
    int  j;
    System.out.println(j);                     //int型,没有经过构造方法,没有new对象,则不会完成初始化。
    }
   }

 b、public  class  Test{
    static int j;
    public static void main(String args){
    System.out.println(j);                 编译通过,但找不到程序入口点,main出错

    }
   }

 c、public  class  Test{
    int  j;
    public int getNum(){
    return this.j;
    }
    public static void main(String[] args){
    System.out.println(getNum());              静态方法不能直接调用成员方法和成员变量,除非new       
    }
   }
 d、public  class  Test{ 
    public String  x;
    public static void main(String[] args){
     Test t = new Test();
    String  y = "";
    System.out.println(t.x.equals(y));    运行错误,构造方法会初始化成员变量,X是引用类型
                    所以会被初始化为空,当对null调用方法和属性时,会抛出空指针异常;
}}

例如:String x ="abc";
if (x.equals("abc")){}
if ("abc".equals(x)){}这两句代码在运行结果上会存在差异, “.equals”是对前面的变量进行的方法调用,如果X为空的话,
这是就会抛出空指针,但后面一句不会,对常量abc的方法调用不会出现空指针,最多出现false   





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值