java:13-重写与重载

本文深入浅出地介绍了Java中的方法重载与重写、构造函数重载、继承以及数组使用等核心概念,并通过实例演示了如何在实际编程中应用这些特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、首先新建一个project,然后new一个Class——T1

package study;

public class T1 
{
    //overloading,overwiritting
    public void print(String s)
    {
        System.out.println(s);
    }
    public void print(int i)
    {
        System.out.println(i);
    }
}

可以看到上面的print被重写了2次,但是这是里面的参数类型不一样
接下来我们开始调用一下。

小结一下,这里解决的是参数不同,但是功能大致相同的方法怎么实现,这里要强调的java的功能是能够实现方法的重名,没有问题;
二、调用

package study;

public class TestIt 
{

    public static void main(String[] args) 
    {
        // TODO Auto-generated method stub
        T1 t=new T1();
        t.print("hello");
        t.print(2);
        //如果我要打印多个字符的话,就要写很多,print1,print2,一直到printn
        //怎么解决呢?函数的重载

    }
}

小结:
1.函数的重载一定是在同一个类里实现的;
2.函数的重写是父类里有同样的函数名,但是我要在子类里对其进行细化,那么我就用重写
3.构造函数的重载是构造函数名相同,但是里面参数列表不一样,这个时候就需要重载;

三、继承再说
①首先建一个父类Animal,

package study;

public class Animal 
{
    public void eat()
    {
        System.out.println("动物吃什么呢?");
    }
}

②再在其下新建两个子类Dog和Cat

Dog子类

package study;

public class Dog extends Animal 
{

    @Override
    public void eat() 
    {
        System.out.println("dog eat child");
    }

}

Cat子类

package study;

public class Cat extends Animal 
{

    @Override
    public void eat() 
    {
        System.out.println("Cat eat fish");
    }

}

③最后新建一个继承于Animal的空类,所以

package study;

public class Person extends Animal 
{
}

④开始调用进行试验

package study;

public class TestIt 
{

    public static void main(String[] args) 
    {
        Animal a1=new Animal();
        a1.eat();
        Animal a2=new Dog();//狗也是动物
        //哦,这个Animal类似于里面的数据类型,后面的为赋值其实为空值;
        a2.eat();//其实和Dog a2=new Dog()是一样的;
        Cat a3=new Cat();
        a3.eat();
        //顿悟了,我的天,写代码瞬间快了!


        //由于Person里面没有定义eat,这个时候就会调用父类里面的
        Animal a4=new Person();
        a4.eat();
        //这个例子验证了我的想法,用Animal还是用Person,都是一样的
        //后面的东西用什么建的,就用的什么;
        Person a5=new Person();
        a5.eat();
    }
}

最终结果如下:
动物吃什么呢?
dog eat child
Cat eat fish
动物吃什么呢?
动物吃什么呢?

四、数组的知识

package study;

public class TestIt 
{

    public static void main(String[] args) 
    {
        Animal a[]=new Animal[4];
        a[0]=new Animal();
        a[1]=new Dog();
        a[2]=new Cat();
        a[3]=new Person();
        for(int i=0;i<a.length;i++)
        {
            a[i].eat();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值