3.24-3.26学习总结

目录

一.方法methed

 二.构造方法(构造器)

 三.方法重载

 四.方法覆写


一.方法methed

        1.定义:

        修饰符  方法返回类型  方法名(参数列表){

                系列语句;

                return 返回值;

}

        2.public+方法/字段: 公开给外部,外部代码可以直接调用/访问。

        3.private+方法/字段: 不允许外部调用/访问,但可以使用内部方法间接调用/访问

#使用private  可以避免破坏封装性,避免逻辑混乱。如,一个人的年龄不能为负数。

4.this变量 指向当前实例

        当有局部变量与字段冲突时,须加上this

二.构造方法(构造器)

        创建对象时,通过构造方法初始化该对象

  1. 名称为类名,无返回值。#返回值为该类的实例(隐式,不要写return)
  2. 任何class都有构造方法,须用new调用。#没有定义构造器时,会生成一个默认的无参构造器,将成员变量初始化为0/null/false
  3. 类中可以存在多个构造方法,但每个构造方法的参数列表一定不同(重载)。
public class Main {
    public static void main(String[] args) {
        Constructor con1=new Constructor(6,"666");
        con1.Print();//6 666
        Constructor con2=new Constructor();
        con2.Print();//0 null
    }
}
class Constructor{
    int x;
    String str;
    public Constructor(){
        //默认
    }
    public Constructor(int x,String str) {
        this.x = x;//变量冲突,用this
        this.str = str;
    }
    public void Print(){
        System.out.println(x+"\n"+str);
    }
}

 三.方法重载

        同一个类,方法同名,参数列表一定不同。

#可将一系列功能类似的方法,设置成同名,方便记忆

#参数列表不同:1.形参个数不同。2.形参类型不同

#重载形参个数可变的方法时,优先调用形参固定的方法。如需调用可变方法,可传入数组形式。

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello world!");
        Overload temp=new Overload();
        temp.test(1,1);//固定参数
        temp.test(new int[]{1,1});//可变参数
    }
}
class Overload{
    public void test(int...nums)
    {
        System.out.println("可变参数");
    }
    public void test(int x,int y)
    {
        System.out.println("固定参数");
    }
}

四.方法覆写

        在继承关系中,子类中定义了一个与父类方法签名(方法名+参数列表)相同的方法。

  1. 子类方法返回值应比父类更小或相等
  2. 子类方法声明抛出的异常类应比父类更小或相等(挖个坑)
  3. @Override 检测覆写

#覆写发生在子类与父类之间

#子类可以重载父类的方法

public class Main {
    public static void main(String[] args) {
        Parent p=new Parent();
        p.method(666);//父类方法
        Child c=new Child();
        c.method(888);//override
        c.method("000");//overload
    }
}
class Parent{
    public void method(int n){
        System.out.println(n+"父类方法");
    }
}
class Child extends Parent{
    //覆写
    @Override
    public void method(int x){
        System.out.println(x+"\n"+"override");
    }
    //重载
    public void method(String str){
        System.out.println(str+"\n"+"overload");
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值