对下面几个方法的理解


 1,构造方法;
a:构造方法也叫构造函数,这个方法很特殊,方法名和class类的名字相同,这个方法可以直接通过类的new实例化的过程调用,但是这个调用过程是隐式的调用。构造方法中最常见的就是默认的构造方法,并且一个类只能有一个默认的构造方法。默认构造方法的定义:
public class Name
{
public Name()

{
...
}

pulic Name(String  name)
{
...
}
public static void main(String [] args)
{

Name name = new Name();
Name name2 = new Name("zhaoming");

}
}

第一个是默认的构造方法,也就是方法没有参数;第二个构造方法含有参数。我们知道,方法是不能嵌套的,可是方法可以相互调用。那么在第一个构造方法中如何调用第二个构造方法,就得通过关键字this来显式调用完成。
调用形式:
public Name()
{
this (" ");
}
注意在这儿this必须在默认构造方法的第一行;否则就会有错误;
在继承当中,子类也可以调用父类的构造方法,但是由于子类和父类是继承关系。子类调用父类的构造方法也得通过另一个关键字super来显式调用,那么在执行的时候就会寻找与super()所对应的构造方法而不会再去寻找父类的不带参数的构造方法。与this一样,super也必须要作为构造方法的第一条执行语句,前面不能有其他可执行语句。
注意:1.构造方法不能被继承;2.子类的构造方法可以隐式地调用父类的不带参数的构造方法;3当父类没有不带参数的构造方法时,子类需要使用super来显式地调用父类的构造方法,super指的是对父类的引用;

2.方法重写:又叫做覆写,子类与父类的方法返回类型一样、方法名称一样,参数一样,这样我们说子类与父类的方法构成了重写关系。
重写的形式:
public class Test2
{
    public static void main(String[] args)
    {
         Son son = new Son();
         son.sing();
    }    
}

class Father
{
    public void sing()
    {
        System.out.println("father is sing");
    }
}

class Son extends  Father
{
    public void sing()

    {    
                super.sing();
        System.out.println("son is sing);
        super.sing();
    }
}
在这个例子中,子类Son 重写了父类的sing()方法,在重写方法中,子类也可以通过关键字super()调用父类的sing()方法,但是这时super.sing()可以不在第一行;具体是执行父类的方法,还是子类的方法由逻辑决定。
3.方法重载:表示两个或多个方法名字相同,但方法参数不同。方法参数不同有两层含义:1)参数个数不同。2)参数类型不同。
重载的形式:
public class Test
{
public int add(int a,int b)
{
return a+b;
}
public int add(int a,int b,int c)
{
return a+b+c;
}
public float add(float a,float b)
{
return a+b;
}
}
方法重载与方法重写是两个区别很大的方法,重载是在一个类里面的多个方法,而方法重写是在父类与子类之间。
注意:在这些方法中进行参数传递时,不论是原生数据类型还是引用数据类型,都是通过传值实现
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值