Java最全说说Java中的内部类,抖音Java后端123面开挂

复习的面试资料

这些面试全部出自大厂面试真题和面试合集当中,小编已经为大家整理完毕(PDF版)

  • 第一部分:Java基础-中级-高级

image

  • 第二部分:开源框架(SSM:Spring+SpringMVC+MyBatis)

image

  • 第三部分:性能调优(JVM+MySQL+Tomcat)

image

  • 第四部分:分布式(限流:ZK+Nginx;缓存:Redis+MongoDB+Memcached;通讯:MQ+kafka)

image

  • 第五部分:微服务(SpringBoot+SpringCloud+Dubbo)

image

  • 第六部分:其他:并发编程+设计模式+数据结构与算法+网络

image

进阶学习笔记pdf

  • Java架构进阶之架构筑基篇(Java基础+并发编程+JVM+MySQL+Tomcat+网络+数据结构与算法

image

  • Java架构进阶之开源框架篇(设计模式+Spring+SpringMVC+MyBatis

image

image

image

  • Java架构进阶之分布式架构篇 (限流(ZK/Nginx)+缓存(Redis/MongoDB/Memcached)+通讯(MQ/kafka)

image

image

image

  • Java架构进阶之微服务架构篇(RPC+SpringBoot+SpringCloud+Dubbo+K8s)

image

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 3.4 匿名内部类

  • 4.内部类与外部类的关系

  • 5.创建内部类

    • 5.1 在外部类外部 创建 非静态内部类
  • 5.2 在外部类外部创建静态内部类

  • 5.3 在外部类内部创建内部类

1.内部类的定义


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

2.内部类的优缺点


优点:

1.内部类和外部类可以彼此访问彼此的私有域。

2.内部类是另外一种封装,对外部的其他类隐藏。

3.内部类可以实现java的单继承的局限

缺点:

结构变得复杂

3.内部类的分类


有成员内部类、静态内部类、方法内部类、匿名内部类

3.1 成员内部类

成员内部类内部不能有static修饰的变量和方法

在这里插入图片描述

在这里插入图片描述

3.2 静态内部类

1.使用static修饰的内部类

2.静态内部类的创建不依赖外部类可以直接创建

3.静态内部类不能使用外部类的非static修饰的属性和方法

3.3 方法内部类

1.定义: 就是在方法里面定义的类

2.不允许使用访问权限修饰符(public、private、protected)均不允许。

3.方法内部内对外部完全隐藏。只有创建这个类的方法可以访问。

4.如果要使用形参,则形参必须使用final声明(jdk8变为隐式声明)

3.4 匿名内部类

1.定义:就是一个没有名字的方法内部类。特点和方法内部类一致。还有一些自身的特点。

2.匿名内部类必须继承一个抽象类或者实现一个接口

3.匿名内部类没有类名,因此没有构造方法发。

4.匿名内部类地()不能携带任何参数。

5.不能同时实现接口和继承类。

6.不需要显示使用extends或/implements关键字实现或继承类或接口。

如下:

在这里插入图片描述

package com;

/*

  • 定时器:

  • 注意:这里的time是一个整数,代表毫秒数

  • schedule(TimerTask task, Date time) 位于Timer类

*/

import java.util.Date;

import java.util.Timer;

import java.util.TimerTask;

public class Timer_Util extends Timer {

private static boolean flag = true;

public static void main(String[] args) {

Date date = new Date();

System.out.println(date);

int seconds = date.getSeconds();

// System.out.println(“seconds=” + seconds);

Timer_Util timer_util=new Timer_Util();

TimerTask timerTask=new TimerTask() {

@Override

public void run() {

System.out.println(“我是定时器”);

flag=false;

System.out.println(“flag改成了false”);

System.exit(1);

}

};

while(flag){

timer_util.schedule(timerTask,100);

show();

}

}

public static void show(){

while(true){

System.out.println(“我是show”);

}

}

}

4.内部类与外部类的关系


1.对于非静态内部类,内部类的创建依赖外部类的实例对象。在没有外部类的实例之前是无法创建内部类的。

2.内部类可以直接访问外部类的元素(包括私有域),外部类在内部类之前创建,创建内部类时会将外部类的对象传入。

5.创建内部类


注:

**Outer:外部类

inner:内部类**

5.1 在外部类外部 创建 非静态内部类

语法:Outer.inner in=new Outer().new inner();

package com.insideClass;

public class test1 {

class like{

int a,b;

最后希望可以帮助到大家!

千千万万要记得:多刷题!!多刷题!!

之前算法是我的硬伤,后面硬啃了好长一段时间才补回来,算法才是程序员的灵魂!!!!

篇幅有限,以下只能截图分享部分的资源!!

(1)多线程(这里以多线程为代表,其实整理了一本JAVA核心架构笔记集)

image

(2)刷的算法题(还有左神的算法笔记)

image

(3)面经+真题解析+对应的相关笔记(很全面)

image

(4)视频学习(部分)

ps:当你觉得学不进或者累了的时候,视频是个不错的选择

在这里,最后只一句话:祝大家offer拿到手软!!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

经+真题解析+对应的相关笔记(很全面)

[外链图片转存中…(img-NMCX6rLE-1715357094035)]

(4)视频学习(部分)

ps:当你觉得学不进或者累了的时候,视频是个不错的选择

在这里,最后只一句话:祝大家offer拿到手软!!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值