• 今天主要说些内部类的相关基础知识,如果能做出下面这个小题目,再下面的内容不看也罢(面试题答案在最后)
    内部类面试题:补全下列代码,实现目标输出,其中描述阶段的数字只能调用已有变量,不能用其他方式
    public class TestInner1 {
    public static void main(String[] args) {
    //调用
    }
    } class Programmer{
    private int n = 1;
    class Bald{
    private int n = 2; public void expert() {
    int n = 3;
    System.out.println("level " + *** + ":programmer");
    System.out.println("level " + *** + ":bald");
    System.out.println("level " + *** + ":expert");
    }
    }
    }

    输出目标:

    level 1:programmer
    level 2:bald
    level 3:expert
  • 内部类(一般内部类是为了增强安全性,不易被外界访问)
    1.访问特点:

①内部类可直接访问外部类的成员,包括私有
    ②而外部类想要访问内部类的成员,需要先创建对象
    2.(1)成员内部类
①直接访问内部类:外部类名.内部类名 对象名 = new 外部类名().new 内部类名();
eg:

package javaBasic;

public class TestInner {
public static void main(String[] args) {
new Stripling().new Diligent().need();
}
} class Stripling{
class Diligent{
public void need() {
System.out.println("Make a great effort to pass CET-6 at one time!");
}
}
}

②成员内部类被静态修饰后的访问方式是:外部类名.内部类名 对象名 = new 外部类名.内部类名();
eg:

package javaBasic;

public class TestInner {
public static void main(String[] args) {
new Stripling. Diligent().need1();
}
} class Stripling{
private int num1 = 1;//static的内部类Diligent不能访问外部类的非static成员
private static int num2 = 2; public static class Diligent{
public void need() {
System.out.println(num2 + "\nMake a great effort to pass CET-6 at one time!");
} public static void need1() {
System.out.println(num2 + "1\nMake a great effort to pass CET-6 at one time!");
}
}
}

3.局部内部类
         ①局部内部类访问局部变量必须用final修饰
         a.局部变量是随着方法的调用而调用,随着调用完毕而消失
         b.相比之下,堆内存的内容不会立即消失(堆内存随着垃圾回收器的作用而消失)
         c.综合a、b,我们需要用final修饰,变量变常量——内存中存储的是对应的数据值

4.匿名内部类:继承了相应的类或者实现了相应接口的子类匿名对象,功能上可理解为内部类的简化写法
            ①前提:存在一个类(可是具体类也可是抽象类)或接口
            ②格式:new 类名或者接口名(){
                重写方法;
            }

  • 顺序问题:package>import>class
  • 修饰符:

①权限修饰符:private,default,protected,public
    ②状态修饰符:static,final
    ③抽象修饰符:abstract
  (1)类:
    ①权限修饰符:private,default,protected,public
    ②状态修饰符:final(因为内部类可以看做外部类的成员,则内部类可以用static修饰)
    ③抽象修饰符:abstract
  (2)成员变量:
    ①权限修饰符:private,default,protected,public
    ②状态修饰符:static,final
  (3)构造方法:
    ①权限修饰符:private,default,protected,public
  (4)成员方法:
      ①权限修饰符:private,default,protected,public
    ②状态修饰符:static,final
    ③抽象修饰符:abstract
  (5)the other组合方式:
      成员变量:public static final//静态成员常量
      成员方法:public static
                public final
                public abstract

  • 面试题答案:
    package javaBasic;
    
    public class TestInner1 {
    public static void main(String[] args) {
    new Programmer().new Bald().expert();
    }
    } class Programmer{
    private int n = 1;
    class Bald{
    private int n = 2; public void expert() {
    int n = 3;
    System.out.println("level " + Programmer.this.n + ":programmer");//通过外部类名限制this范围
    System.out.println("level " + this.n + ":bald");
    System.out.println("level " + n + ":expert");
    }
    }
    }

java从小白到老白⑤——传智播客27版笔记的更多相关文章

  1. 传智播客JavaWeb day02笔记

    2015年1月21日 今天的主要内容:介绍了几款常用Javaweb服务器,重点介绍了tomcat以及tomcat的安装和怎么样检测安装成功 1.JavaWeb常见服务器 Tomcat(免费但是只支持部 ...

  2. 传智播客Springmvc_mybatis学习笔记

    文件地址:https://download.csdn.net/download/qq_26078953/10614459

  3. 揭秘传智播客班级毕业薪资超7k的内幕系列 之三 ----国企慕名而来,将未毕业学员“抢走”,传智播客又一次定义“被就业”

    前面文章提及Java六期学员张同学提前就业某国企,入职薪资6.3k,各种福利齐全.作为班级首位就业同学,他的就业也成为了班级其它同学就业的风向标.但事实上张同学的就业属于"被就业" ...

  4. 成都传智播客java就业班和基础班

    传智播客成都Java培训,带你走进Java的世界... 我们有咨询的教育团队,一流的名师指导: 我们是重视基础理论建设,强化高端应用技能: 我们有四大JavaEE项目,海量Android项目: 我们是 ...

  5. 传智播客成都java培训中心秀就业

    传智播客成都java培训中心秀就业 2013年被称为"史上最难就业季",成都传智播客学员如何应对的呢? 成都传智播客的学员在工作经验上颇占优势,我们采用项目驱动式教学模式,具有多年开发实战经验及教学经 ...

  6. 传智播客张孝祥java邮件开发随笔01

    01_传智播客张孝祥java邮件开发_课程价值与目标介绍 02_传智播客张孝祥java邮件开发_邮件方面的基本常识 03_传智播客张孝祥java邮件开发_手工体验smtp和pop3协议 第3课时 关于 ...

  7. 成都传智播客java就业班(14.04.01班)就业快报(Java程序猿薪资一目了然)

    这是成都传智播客Java就业班的就业情况,很多其它详情请见成都传智播客官网:http://cd.itcast.cn?140812ls 姓名 入职公司 入职薪资(¥) 方同学 安**软件成都有限公司(J ...

  8. 成都传智播客java就业班激情洋溢的青春篮球赛

    为了缓解学员们的学习压力,也为了培养学员们的团队协作精神,5月28日下午,在班主任倪老师和王老师联手带领下,我们1406280ls" style="color:rgb(51,102 ...

  9. 传智播客--ADO.net--SqlBulkCopy批量插入数据(小白必知)

    一般情况下,我们在向数据库中插入数据时用Insert语句,但是当数据量很大的时候,这种情况就比较缓慢了,这个时候就需要SqlBulkCopy这个类. SqlBulkCopy本身常用的函数有这么几个 D ...

  10. 传智播客--高级控件--showdialog关闭(小白内容)

    以往我在WPF里,用ShowDialog展示出一个页面,一般都是用Close()进行关闭. 今天看传智播客的视频时,了解到还能直接给DialogResult一个TRUE或者false的属性,使页面关闭 ...

随机推荐

  1. 【vulhub】redis CVE-2022-0543(redis沙盒逃逸)

    渗透环境 攻击机:   IP: 192.168.66.130(Kali) 漏洞收录于:vulhub/redis/CVE-2022-0543 涉及知识点:redis沙盒逃逸 漏洞详情 受影响的系统: 仅 ...

  2. Week09_day05(Java API操作Hbase)

    package com.wyh.HbaseAPI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbas ...

  3. 【ABAQUS模态动力学】Composite&abaqus 预应力模态分析&输出单元刚度矩阵

    参考 连接器振动脱落_abaqus重启动分析_显式隐式切换_插拔力预应力模态_TeeSim天深科技 Abaqus预应力模态分析 附Abaqus 分析用户手册材料卷下载- 技术邻 Natural fre ...

  4. Oracle 23ai TPC-H 执行情况

    TPC-H是一个广泛使用的基准测试,用于评估数据库系统在决策支持系统(DSS)场景下的性能. 在昨天的文章中,我们完成了<Oracle 23ai TPC-H 测试环境部署>,本文将继续记录 ...

  5. antd vue 嵌套表格之实现每次展开一行

    在项目中遇到一个需求,就是使用嵌套子表格时,每次只展示一行,且展开一行另一行收起,直接上代码吧,顺便记录一下 这里需要注意,我们要在外层table组件添加如图三个属性,缺一不可,咳咳,不用杠我那个&l ...

  6. 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)

    FRP 是 Github 上开源的一款内网穿透工具,点击前往项目地址,该项目分为 frps 服务端和 frpc 客户端,通过在拥有公网 IP 的服务器上搭建服务端,然后在被穿透的机器上安装客户端,配置 ...

  7. go mod 安装使用 beego

    go module基本使用 // 创建目录,初始化新项目 mkdir beemod cd beemod go mod init beemod 创建 server.go 文件 package main ...

  8. CISCN&CCB半决赛_2025_PWN_WP

    CISCN&CCB半决赛_2025_PWN_WP 前言: 记录一下第一次打半决赛国赛,总结来说还是自己太菜了,还有check脚本是真的很shi,正规军白给了... typo break edi ...

  9. .net 跨域 config中配置

    <system.webServer> <validation validateIntegratedModeConfiguration="false" /> ...

  10. verilog实现32位有符号流水乘法器

    verilog实现32位有符号流水乘法器 1.4bit乘法流程 1.无符号X无符号二进制乘法器 以下为4bit乘法器流程(2X6) 0 0 0 0 0 0 1 0 (2) X 0 0 0 0 0 1 ...