java从小白到老白⑤——传智播客27版笔记
- 今天主要说些内部类的相关基础知识,如果能做出下面这个小题目,再下面的内容不看也罢(面试题答案在最后)
内部类面试题:补全下列代码,实现目标输出,其中描述阶段的数字只能调用已有变量,不能用其他方式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版笔记的更多相关文章
- 传智播客JavaWeb day02笔记
2015年1月21日 今天的主要内容:介绍了几款常用Javaweb服务器,重点介绍了tomcat以及tomcat的安装和怎么样检测安装成功 1.JavaWeb常见服务器 Tomcat(免费但是只支持部 ...
- 传智播客Springmvc_mybatis学习笔记
文件地址:https://download.csdn.net/download/qq_26078953/10614459
- 揭秘传智播客班级毕业薪资超7k的内幕系列 之三 ----国企慕名而来,将未毕业学员“抢走”,传智播客又一次定义“被就业”
前面文章提及Java六期学员张同学提前就业某国企,入职薪资6.3k,各种福利齐全.作为班级首位就业同学,他的就业也成为了班级其它同学就业的风向标.但事实上张同学的就业属于"被就业" ...
- 成都传智播客java就业班和基础班
传智播客成都Java培训,带你走进Java的世界... 我们有咨询的教育团队,一流的名师指导: 我们是重视基础理论建设,强化高端应用技能: 我们有四大JavaEE项目,海量Android项目: 我们是 ...
- 传智播客成都java培训中心秀就业
传智播客成都java培训中心秀就业 2013年被称为"史上最难就业季",成都传智播客学员如何应对的呢? 成都传智播客的学员在工作经验上颇占优势,我们采用项目驱动式教学模式,具有多年开发实战经验及教学经 ...
- 传智播客张孝祥java邮件开发随笔01
01_传智播客张孝祥java邮件开发_课程价值与目标介绍 02_传智播客张孝祥java邮件开发_邮件方面的基本常识 03_传智播客张孝祥java邮件开发_手工体验smtp和pop3协议 第3课时 关于 ...
- 成都传智播客java就业班(14.04.01班)就业快报(Java程序猿薪资一目了然)
这是成都传智播客Java就业班的就业情况,很多其它详情请见成都传智播客官网:http://cd.itcast.cn?140812ls 姓名 入职公司 入职薪资(¥) 方同学 安**软件成都有限公司(J ...
- 成都传智播客java就业班激情洋溢的青春篮球赛
为了缓解学员们的学习压力,也为了培养学员们的团队协作精神,5月28日下午,在班主任倪老师和王老师联手带领下,我们1406280ls" style="color:rgb(51,102 ...
- 传智播客--ADO.net--SqlBulkCopy批量插入数据(小白必知)
一般情况下,我们在向数据库中插入数据时用Insert语句,但是当数据量很大的时候,这种情况就比较缓慢了,这个时候就需要SqlBulkCopy这个类. SqlBulkCopy本身常用的函数有这么几个 D ...
- 传智播客--高级控件--showdialog关闭(小白内容)
以往我在WPF里,用ShowDialog展示出一个页面,一般都是用Close()进行关闭. 今天看传智播客的视频时,了解到还能直接给DialogResult一个TRUE或者false的属性,使页面关闭 ...
随机推荐
- 【vulhub】redis CVE-2022-0543(redis沙盒逃逸)
渗透环境 攻击机: IP: 192.168.66.130(Kali) 漏洞收录于:vulhub/redis/CVE-2022-0543 涉及知识点:redis沙盒逃逸 漏洞详情 受影响的系统: 仅 ...
- Week09_day05(Java API操作Hbase)
package com.wyh.HbaseAPI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbas ...
- 【ABAQUS模态动力学】Composite&abaqus 预应力模态分析&输出单元刚度矩阵
参考 连接器振动脱落_abaqus重启动分析_显式隐式切换_插拔力预应力模态_TeeSim天深科技 Abaqus预应力模态分析 附Abaqus 分析用户手册材料卷下载- 技术邻 Natural fre ...
- Oracle 23ai TPC-H 执行情况
TPC-H是一个广泛使用的基准测试,用于评估数据库系统在决策支持系统(DSS)场景下的性能. 在昨天的文章中,我们完成了<Oracle 23ai TPC-H 测试环境部署>,本文将继续记录 ...
- antd vue 嵌套表格之实现每次展开一行
在项目中遇到一个需求,就是使用嵌套子表格时,每次只展示一行,且展开一行另一行收起,直接上代码吧,顺便记录一下 这里需要注意,我们要在外层table组件添加如图三个属性,缺一不可,咳咳,不用杠我那个&l ...
- 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
FRP 是 Github 上开源的一款内网穿透工具,点击前往项目地址,该项目分为 frps 服务端和 frpc 客户端,通过在拥有公网 IP 的服务器上搭建服务端,然后在被穿透的机器上安装客户端,配置 ...
- go mod 安装使用 beego
go module基本使用 // 创建目录,初始化新项目 mkdir beemod cd beemod go mod init beemod 创建 server.go 文件 package main ...
- CISCN&CCB半决赛_2025_PWN_WP
CISCN&CCB半决赛_2025_PWN_WP 前言: 记录一下第一次打半决赛国赛,总结来说还是自己太菜了,还有check脚本是真的很shi,正规军白给了... typo break edi ...
- .net 跨域 config中配置
<system.webServer> <validation validateIntegratedModeConfiguration="false" /> ...
- 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 ...