最全初识JAVA内部类,我先收藏为敬

总结

阿里伤透我心,疯狂复习刷题,终于喜提offer 哈哈~好啦,不闲扯了

image

1、JAVA面试核心知识整理(PDF):包含JVMJAVA集合JAVA多线程并发,JAVA基础,Spring原理微服务,Netty与RPC,网络,日志,ZookeeperKafkaRabbitMQ,Hbase,MongoDB,Cassandra,设计模式负载均衡数据库一致性哈希JAVA算法数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算共30个章节。

image

2、Redis学习笔记及学习思维脑图

image

3、数据面试必备20题+数据库性能优化的21个最佳实践

image

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

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

=============================================================================

4.1 练习 : 被private修饰


_创建包: cn.tedu.innerclass

创建类: TestInner2.java_

package cn.tedu.innerclass;

/*本类用来测试成员内部类被private修饰/

public class TestInner2 {

public static void main(String[] args) {

/**怎么使用内部类Inner2的资源?*/

//4.创建内部类Inner2对象进行访问

//Outer2.Inner2 oi = new Outer2().new Inner2();

//oi.eat();

/**如果Inner2被private修饰,无法直接创建对象该怎么办?*/

//7.创建外部类对象,间接访问私有内部类资源

new Outer2().getInner2Eat();

}

}

//1.创建外部类Outer2

class Outer2{

//6.提供外部类公共的方法,在方法内部创建Inner2内部类对象,调用内部类方法

public void getInner2Eat() {

Inner2 in = new Inner2();//外部类可以访问内部类的私有成员

in.eat();

}

//2.1创建成员内部类Inner2

/*成员内部类的位置:类里方法外/

//5.成员内部类,被private修饰私有化,无法被外界访问

private class Inner2{

//3.创建内部类的普通成员方法

public void eat() {

System.out.println(“我是Inner2的eat()”);

}

}

}

总结:
成员内部类被Private修饰以后,无法被外界直接创建创建对象使用
所以可以创建外部类对象,通过外部类对象间接访问内部类的资源

4.2 练习 : 被static修饰


_创建包: cn.tedu.innerclass

创建类: TestInner3.java_

package cn.tedu.innerclass;

/*本类用来测试成员内部类被static修饰/

public class TestInner3 {

public static void main(String[] args) {

/**如何访问内部类的show()?*/

//4.创建内部类对象访问show()

//方式一:按照之前的方式,创建内部类对象调用show()

//Outer3.Inner3 oi = new Outer3().new Inner3();

//oi.show();

//方式二:创建匿名内部类对象访问show()

//new Outer3().new Inner3().show();

/*现象:当内部类被static修饰以后,new Outer3()报错/

//6.用static修饰内部类以后,上面的创建语句报错,注释掉

//通过外部类的类名创建内部类对象

Outer3.Inner3 oi = new Outer3.Inner3();

oi.show();

//7.匿名的内部类对象调用show()

new Outer3.Inner3().show();

//9.访问静态内部类中的静态资源–链式加载

Outer3.Inner3.show2();

}

}

//1.创建外部类Outer3

class Outer3{

//2.创建成员内部类Inner3

//5.内部类被static修饰—并不常用!浪费内存!

static class Inner3{

//3.定义成员内部类中普通的成员方法

public void show() {

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

}

//8.定义成员内部类的静态成员方法

static public void show2() {

System.out.println(“我是Inner3的show2()”);

}

}

}

总结:
静态资源访问时不需要创建对象,可以通过类名直接访问
访问静态类中的静态资源可以通过”. . . ”链式加载的方式访问

5 局部内部类

=============================================================================

_创建包: cn.tedu.innerclass

创建类: TestInner4.java_

package cn.tedu.innerclass;

/*本类用来测试局部内部类/

public class TestInner4 {

public static void main(String[] args) {

/**如何使用内部类的资源呢?

  • 注意:直接调用外部类的show()是无法触发内部类功能的

  • 需要再外部类中创建内部类对象并且进行调用,才能触发内部类的功能

  • */

//5.创建外部类对象调用show()

//7.当在外部类show()中创建局部内部类对象并且进行功能调用后,内部类的功能才能被调用

new Outer4().show();

}

}

//1.创建外部类Outer4

class Outer4{

//2.创建外部类的成员方法

public void show() {

//3.创建局部内部类Inner4—不太常用!!!

/*位置:局部内部类的位置在方法里/

class Inner4{

//4.创建局部内部类的普通属性与方法

String name;

int age;

public void eat() {

System.out.println(“我是Inner4的eat()”);

}

}

/**如何使用局部内部类的资源?*/

//6.在show()里创建内部类对象

Inner4 in = new Inner4();

in.eat();

System.out.println(in.name);

System.out.println(in.age);

}

}

6 匿名内部类

=============================================================================

_创建包: cn.tedu.innerclass

创建类: TestInner5.java_

package cn.tedu.innerclass;

/*本类用于测试匿名内部类

  • 匿名内部类没有名字,通常与匿名对象结合在一起使用*/

public class TestInner5 {

public static void main(String[] args) {

//传统方式:创建接口的实现类+实现类实现接口中的抽象方法+创建实现类对象+通过对象调用方法

//3.创建接口一对应的匿名对象与匿名内部类,并调用实现了的方法save()

new Inter1(){

@Override

public void save() {

System.out.println(“save()…”);

}

@Override

public void get() { }

}.save();

//5.创建抽象类对应的匿名对象与匿名内部类

new Inter2(){

@Override

public void drink() {

System.out.println(“一人饮酒醉”);

}

}.drink();

//7.调用普通类的功能怎么调用?创建匿名对象直接调用

总结

至此,文章终于到了尾声。总结一下,我们谈论了简历制作过程中需要注意的以下三个部分,并分别给出了一些建议:

  1. 技术能力:先写岗位所需能力,再写加分能力,不要写无关能力;
  2. 项目经历:只写明星项目,描述遵循 STAR 法则;
  3. 简历印象:简历遵循三大原则:清晰,简短,必要,要有的放矢,不要海投;

以及最后为大家准备的福利时间:简历模板+Java面试题+热门技术系列教程视频

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

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

短,必要,要有的放矢,不要海投;

以及最后为大家准备的福利时间:简历模板+Java面试题+热门技术系列教程视频

[外链图片转存中…(img-9xAdjlS2-1715595865428)]

[外链图片转存中…(img-y6Dly1PQ-1715595865428)]

[外链图片转存中…(img-vVeDBmBz-1715595865429)]

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值