> 文章列表 > 3.24-3.26学习总结

3.24-3.26学习总结

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 666Constructor con2=new Constructor();con2.Print();//0 null}
}
class Constructor{int x;String str;public Constructor(){//默认}public Constructor(int x,String str) {this.x = x;//变量冲突,用thisthis.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);//overridec.method("000");//overload}
}
class Parent{public void method(int n){System.out.println(n+"父类方法");}
}
class Child extends Parent{//覆写@Overridepublic void method(int x){System.out.println(x+"\\n"+"override");}//重载public void method(String str){System.out.println(str+"\\n"+"overload");}
}