为热爱编程的你点赞!
学习SpringBoot实战课程 https://edu.csdn.net/course/detail/31433
学习SpringCloud入门课程 https://edu.csdn.net/course/detail/31451
面向对象系列:
类和对象
封装
继承
多态
static关键字和单例模式
接口和内部类
Hello,大家好,接口是Java中的一个重要的类型,实际项目开发中会大量使用到接口,称为:面向接口编程,本章将重点接口以及内部类。
生活中的接口
如电脑上的USB接口,规范了接口的形状、尺寸等,只要符合该规范的设备就可以连接上去。
程序中的接口
是一套规范,规定了方法的定义,只要是实现了该接口的类必须按照接口的规范来定义。
定义接口的语法:
public interface 接口名{
静态常量的定义;
方法的定义;
}
定义接口要注意:
实现接口
public class 类名 implements 接口名{
具体方法的实现
}
实现接口要注意:
class 类名 extends 父类 implements 接口{
}
interface A{
void testA();
}
//接口之间的继承
interface B extends A{
void testB();
}
class C implements B{
public void testA() {
}
public void testB() {
}
}
接口在开发中的意义
Java1.8的新特性,被default定义的方法可以有默认的实现。
public interface Person {
//给接口方法默认的实现
default void eat(){
System.out.println("在吃饭!!");
}
void walk();
}
实现类不强制要求实现带default的方法。
接口和抽象类的区别是常见的面试题
相同点:
不同点:
内部类就是在类里面定义的类。
Java的内部类包含:
和成员变量(属性)、成员方法同级的,都是属于某一个对象所有的。
语法:
class 外部类{
class 内部类{
...
}
}
特点:
成员内部类加上static,就是静态内部类
语法:
public class 外部类{
static class 内部类{
}
}
和成员内部类的区别:
在方法中定义的类,只能在当前方法中使用,方法调用时加载类到内存中。
语法:
class 外部类{
public void test(){
class 内部类{
}
内部类 对象 = new 内部类();
}
}
一个没有名字的内部类,创建类的同时创建了对象。
应用场合:接口或抽象类的实现类只需要使用一次,代码是一次性的。
语法:
new 接口/抽象类()
{
实现方法
};
实现USB案例
//Usb接口
interface Usb{
void connect(); //连接
void charge(); //充电
}
//匿名内部类实现接口
Usb usb = new Usb(){
public void connect(){
System.out.println("Test2测试连接");
}
public void charge(){
System.out.println("Test2测试充电");
}
};
usb .connect();
usb .charge();
和一般类的区别:
面试题:在?处填写什么可以在控制台输出30,20,10。
class Outer {
public int num = 10;
class Inner {
public int num = 20;
public void show() {
int num = 30;
System.out.println(?); num
System.out.println(?); this.num
System.out.println(?); Outer.this.num
}
}
}
class InnerClassTest {
public static void main(String[] args) {
Outer.Inner oi = new Outer().new Inner();
oi.show();
}
}
好了,本文大家都掌握了吗?欢迎留言讨论哦
留两个作业: