java学习-3

方法重载

重载就是在一个类中,有相同的函数名称,但是形参不同的函数

方法重载的规则

  • 方法名相同
  • 参数列表必须不同(编译器以此来选择相对应的方法)
  • 方法的返回类型没有要求

理论: 方法名相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法。

可变参数(不定项参数)

jdk1.5开始,Java支持传递同类型的可变参数

在方法声明中,在特定参数类型后加上一个省略号(...)

在一个方法中只能指定一个可变参数,他必须是方法的最后一个参数。任何普通参数必须在他之前声明

public class Main {
    public static void main(String[] args) {
        //this.test(1,2,3,4);静态方法中没有this关键字
        Main main = new Main();
        main.test(1,2,3,4);
    }

    public void test(int... i){
        System.out.println(i[0]);
        System.out.println(i[1]);
        System.out.println(i[2]);
        System.out.println(i[3]);
    }
}

数组

相同类型数据的有序集合

数组的创建

dataType[] arrayRefVar;  //首选方法
dataType arrayRefVar[];  //效果相同,但不是首选方法,类似C语言

Java语言使用new操作符来创建数组

dataType[] arrayRefVar=new dataType[arraySize];

数组长度

arrayRefVar.length

三种初始化

静态初始化

int[] a={1,2,3};
Man[] mans={new Man(1,1),new Man(2,2)};

动态初始化

int[] a=new int[2];
a[0]=1;
a[1]=2;

数组的默认初始化

数组是引用类型,他的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化

数组工具类——Arrays

Arrays.toString(a);//打印数组元素
Arrays.sort(a);//升序排序
Arrays.fill(a,0)//数组赋值为0
...

面向对象

构造器

相当于C++的构造函数,没有返回值,也不能写void,一个类不写也会存在一个构造方法

定义了有参构造,如果还需要使用无参构造就需要显示无参构造

继承

java中类只有单继承,没有多继承

继承是类和类之间的一种关系,除此之外,类和类之间的关系还有依赖、组合、聚合等。

super

子类通过super访问父类

调用父类的构造器必须在子类的第一行

//父类
public class person(){
    public person(){
        
    }
}

//子类
public class man(){
    public man(){
        super();//必须在子类构造器的第一行
        
    }
}

注意点

  1. super调用父类的构造方法,必须在构造方法的第一个
  2. super必须只能出现在子类的方法或者构造方法中
  3. super和this不能同时调用构造方法

Vs this:

代表的对象不同:

  1. this:本身调用者这个对象
  2. super:代表父类对象的应用

前提

  1. this:没有继承也可以使用
  2. super:只能在继承条件下才可以使用

构造方法

  1. this(): 本类的构造
  2. super():父类的构造
posted @   狐狸胡兔  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示