接口

本文详细介绍了Java接口中的常量、抽象方法、默认方法和静态方法的使用,包括它们在接口和实现类中的定义、调用方式及其特点。在测试类中展示了如何通过接口直接调用静态方法,以及如何通过实现类对象调用抽象方法和默认方法。同时,强调了Java接口不能被实例化,接口成员默认为public,不能有方法体和私有成员等关键知识点。
摘要由CSDN通过智能技术生成

一、单个使用
创建一个接口类:
接口类

public interface qian1 {
	//1.常量:名称大写(JAVA7)
	public static final int NUM = 10;//3个关键字,可以省略部分,常量名需要大写、赋值
	//2.抽象方法:abstract(JAVA7)
	public abstract void mean1();
	//3.默认方法:default(JAVA8及8+)
	public default void mean2() {
		System.out.println();
	}
	//4.静态方法:static(JAVA9+)
	public static void mean3() {
		System.out.println();
	}
	//5.私有方法:private(JAVA)
	public default void moon1() {
		System.out.println("姓名:"+"何婷");
		mean4();
	}
	public default void moon2() {
		System.out.println("性别:"+"女");
		mean4();
	}
	public static void mean4() {
		System.out.println("AAAA");
		System.out.println("AAAA");
		System.out.println("AAAA");
	}
}

实现类

public class qian3 implements qian1{
	@Override
	public void mean1() {
		System.out.println("抽象类在实现类中覆盖重写");
	}
	@Override
	public void mean2() {
		// TODO 自动生成的构造函数存根
		qian1.super.mean2();
		System.out.println("默认方法在实现类中覆盖重写");
	}	
}

测试类

public class qian4 {
	public static void main(String[] args) {
		System.out.println(qian1.NUM);//接口名称、常量名称
		qian3 a = new qian3();//创建实现类的对象
		a.mean1();//对抽象方法进行调用
		a.mean2();//默认方法可以直接进行调用,也可以覆盖重写
		qian1.mean3();//通过接口调用静态方法
		//a.mean3(); 不能通过实现类创建的对象进行调用
		a.moon1();//调用私有方法
		a.moon2();//调用私有方法
		
	}
}

1.总结:
1、常量:在接口中定义,不需要在实现内操作,需要在测试类中使用:接口名.常量名
2、抽象方法:在接口中定义,需要在实现类覆盖重写,在测试类使用,创建对象,进行调用,通过实现类创建对象
3、默认方法:在接口中定义,可以在实现类覆盖重写,在测试类中可以直接调用
4、静态方法: 在接口中定义,不能在实现类覆盖重写,在测试中调用: 接口名.方法名();
5、私有方法:在接口中定义,不需要在实现类中操作,在测试类使用;可以对默认方法和静态

2.注意:
1、java接口不能被实例化
2、java接口中声明的成员自动被设置为public,因此java接口不能声明私有成员
3、java接口中不能出现方法体
4、接口可以通过使用关键字extends继承其他接口
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值