java类的重载,匿名类的使用,可变形参详解

KLQ 2020-08-11 16:34:39 java常见问答 7798

对于java类你了解多少呢?下面的文章要给大家讲到的就是和java类的重载,匿名类的使用,可变形参相关的内容,一起来看看吧。

/**
 *1.类的方法的重载
 *2.匿名类对象的传递和引用
 *3.可变个数的形参(格式:1/对于方法的形参: 数据类型...形参名
 *                      2/可变个数的形参与同名的方法之间构成重载
 *                      3/可变个数的形参在调用时,个数从0到很多很多
 *                      4/可变个数的优势,传入单个或数组 时都可以调用
 *                      5/一致于数组,数组怎么传递,可变形参就怎么用)
 */
import java.lang.*;
class Car
{
    String name;
    int wheel;
    public Car(String name, int w)
    { //构造类
        this.name = name;
        this.wheel = w;
    }
    public Car()
    { //重载构造类
        this.name = "####";
        this.wheel = 0;
    }
    public void describeCar()
    {
        System.out.println("{name:" + this.name + " wheelnum:" + this.wheel + "}");
    }
}
class Factory
{
    //制造车
    public Factory()
    {}
    public Car produceCar(String name, int wnum)
    {
        Car c = new Car();
        c.name = name;
        c.wheel = wnum;
        return c;
    }
    public void Tested(Car c)
    {
        if (c.name == "####")
            System.out.println(c.name + "Test: 发现故障!未初始化!");
        else
            System.out.println(c.name + " is Ok!");
    }
}
class SayMore
{
    public SayMore()
    {}
    public void say(int...args)
    {
        for (int i = 0; i < args.length; i++)
            System.out.print(args[i] + "\t");
        System.out.println();
    }
}
public class Test1
{
    public static void main(String args[])
    {
        Factory f = new Factory();
        Car c1 = f.produceCar("葱油酱饼", 4);
        c1.describeCar();
        System.out.println("使用匿名类:  ");
        new Car()
            .describeCar();
        f.Tested(new Car()); //检测匿名(空构造的数据)类
        f.Tested(c1); //检测实例化有数据的类
        System.out.println(" // ///////////////////////////////////////////");
        SayMore s = new SayMore();
        s.say(666); //可变个数的形参,传递单个/多个
        s.say(1, 2, 3);
        int arr[] = {
            1
            , 2
            , 3
            , 4555
        };
        s.say(arr);
    }
}

运行结果:

{
    name: 葱油酱饼 wheelnum: 4
}
使用匿名类:
{
    name: ####wheelnum: 0
}####
Test: 发现故障!未初始化!
    葱油酱饼 is Ok!
    // ///////////////////////////////////////////
    666
1 2 3
1 2 3 4555

大家可以多多的关注一下奇Q工具网哦,有更多的java程序代码例子可以为你分享呢。

推荐阅读:

java继承的作用是什么?java类的继承性的主要作用

java继承例子代码,java类的继承示例

抽象类和普通类的区别是什么?java类和抽象类的区别