Java继承,接口,多态

继承:复用已经定义好的类,减少重复代码编写

接口:类似于USB接口,只要是USB数据线,是不是插上后都能起作用呀

多态:多态就是通过同一个接口使用不同的对象而执行不同操作

1.接口:  interface定义接口,implements实现接口

现在给出一个例子:三个类分别是:USB类(接口),keyboard类(键盘实现接口),Test类(写个主函数测试一下)

USB类(接口),注意:接口里面的方法(函数)只写声明,接口中的方法必须加abstract(表示抽象方法)


//定义一个USB接口,接口里面的函数只写声明
public interface USB {
	public abstract void plugln();
	public abstract void work();
}

keyboard类(键盘实现接口),@Override是注解(告诉编译器下面的函数是重写的函数),最好写上,必须把接口所有方法都重写一遍

//键盘实现USB接口
public class keyboard implements USB{
		@Override
		public void plugln(){
			System.out.println("qudong");
		}
		
		@Override
		public void work(){
			System.out.println("work");
		}
		
	}
	

Test类(写个主函数运行测试一下),实例化一个对象并且调用work函数

public class Test{
	public static void main(String[] args) {
		keyboard cnm = new keyboard();//创建一个键盘
	    cnm.work();
	}

}

在JDK中怎么运行?

分别创建3个文本,改扩展名为 .java,然后分别把3段代码复制并保存,分别编译成字节码文件,最后运行Test就能看到结果显示work。

2.继承(用关键字extends)------------------------------------------------

父类:Employee类

//父类
public class Employee{
	String name;
	int age;
	
	public String cnm()
	{
	return "我嫩爹";
	}
	
}

子类:Manager类

//子类
public class Manager extends Employee{
	
}

Test类(主函数)

public class Test{
	public static void main(String[] args) {
		Manager objec = new Manager();//创建一个对象
	    System.out.println(objec.cnm());
	}

}

3.多态(重写和重载)--------------------------------------------------------

重写:以继承举例

父类:Employee类

//父类
public class Employee{
	String name;
	int age;
	
	public String cnm()
	{
	return "我嫩爹";
	}
	
}

子类重写:Manager类

//子类
public class Manager extends Employee{
	
	@Override
	public String cnm()
	{
	return "爸爸,我是你儿子";
	}
	
}

Test类(主函数)

public class Test{
	public static void main(String[] args) {
		Manager objec = new Manager();//创建一个对象
	    System.out.println(objec.cnm());
	}

}

重载:同一个类中函数名相同,参数不同的函数。是不是感觉跟构造器差不多,但是又不一样。

构造器是函数名跟类名相同且创建对象时自动调用。

下面看个重载的栗子

重载类:Sum类(3种求和函数)

//重载
public class Sum{

	public int sum(int a1)
	{
	return a1;
	}
	
	public int sum(int a1, int a2)
	{
	return a1+a2;
	}
	
	public int sum(int a1, int a2, int a3)
	{
	return a1+a2+a3;
	}
	
	
	
}

Test类(主函数)

public class Test{
	public static void main(String[] args) {
		
		Sum cnm = new Sum();
		System.out.println(cnm.sum(2));
		System.out.println(cnm.sum(2,3));
		System.out.println(cnm.sum(2,3,4));
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值