接口 内部类

接口 内部类

接口
  • 接口的本质是契约,就像我们人间的法律一样,制订好后大家都要遵守。
  • 接口关键字:interface
  • 接口都需要实现类
  • 类 可以实现接口,但是需要重写接口中的方法
  • 利用接口实现多继承
接口作用
  1. 约束
  2. 定义一些方法,让不同的人实现。
  3. 方法都是 public abstract 修饰
  4. 常量都是 public static final 修饰
  5. 接口不能实例化,接口中没有构造方法
  6. implements 可以实现多个接口
  7. 必须要重写接口中的方法
  8. 接口没有构造方法
内部类

内部类就是在一个类的内部在定义一个类

package com.jin.www;

public  class Person {
	private int id;
	public void out() {
		// TODO Auto-generated method stub
		System.out.println("外部类的方法");
	}
	class Studentone{
		public void out() {
			// TODO Auto-generated method stub
			System.out.println("内部类的方法");
		}
        public void in(){
            //获得外部类的私有属性~
            System.out.println(id);
        }
	}
}

package com.jin.www;

public class Student {
	public static void main(String[] args) {
		Person person=new Person();
		person.out();
		Person.Studentone person1=person.new Studentone();
		person1.out();
	}
}

结果:

外部类的方法

内部类的方法

一个Java类中可以有多个class类,但是只能有一个public class

public void method(){
    class Inner{
        public void in()  //局部内部类
    }
}
Apple apple=new Apple();  //实例化这个对象,并且要实例保存到变量中
new Apple().eat();  //没有名字初始化类,不用将实例保存到变量中
成员内部类是存在于某个类的内部,与全局属性或者方法同级的内部类。它可以直接调用外部类的所有方法,包括静态方法和非静态方法。一个例子是在Person类中定义了一个成员内部类DoWork,它实现了接口Work。\[1\] 静态内部类是定义在外部类内部的静态类。它可以直接访问外部类的非静态成员。静态内部类与外部类之间没有直接的关联,可以通过外部类名来访问静态内部类。\[2\] 接口内部类是定义在接口内部的类。它可以被实现该接口的类所使用。接口内部类的特点是没有构造器,它在编译时会自动起名为xxx$1.class。\[3\] 局部内部类是定义在方法内部的类。它只能在方法内部使用,并且只有在方法的局部变量被标记为final或者是effectively final的情况下,内部类才能使用这些局部变量。\[2\] 匿名内部类是一种没有构造器的类,它通常用于接口返回。匿名内部类不能存在任何静态的变量或方法,它是局部内部类的特例。在编译时,编译器会自动为匿名内部类起一个名字,例如xxx$1.class。\[3\] #### 引用[.reference_title] - *1* *2* *3* [什么是内部类?成员内部类、静态内部类、局部内部类和匿名内部类的区别及作用?](https://blog.csdn.net/sulixu/article/details/120028541)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值