阶段01Java基础day10面向对象05
10.01_面向对象(package关键字的概述及作用)
- A:为什么要有包
- 将字节码(.class)进行分类存放
 
 - B:包的概述
 - C:包的作用
 
10.02_面向对象(包的定义及注意事项)
- A:定义包的格式
- package 包名;
 - 多级包用.分开即可
 
 - B:定义包的注意事项
- A:package语句必须是程序的第一条可执行的代码
 - B:package语句在一个java文件中只能有一个
 - C:如果没有package,默认表示无包名
 
 - C:案例演示
- 包的定义及注意事项
 
 
10.03_面向对象(带包的类编译和运行)
- A:如何编译运行带包的类
- a:javac编译的时候带上-d即可
- javac -d . HelloWorld.java
 
 - b:通过java命令执行。
- java 包名.HellWord
 
 
 - a:javac编译的时候带上-d即可
 
10.04_面向对象(不同包下类之间的访问)
- A:案例演示
- 不同包下类之间的访问
 
 
10.05_面向对象(import关键字的概述和使用)
- A:案例演示
- 为什么要有import
 
 - B:导包格式
- import 包名;
 - 注意:
 - 这种方式导入是到类的名称。
 - 虽然可以最后写*,但是不建议。
 
 - C:package,import,class有没有顺序关系(面试题)
 
10.06_面向对象(四种权限修饰符的测试)
- A:案例演示
- 四种权限修饰符
 
 - B:结论
 本类 同一个包下(子类和无关类) 不同包下(子类) 不同包下(无关类)
private Y
默认 Y Y
protected Y Y Y
public Y Y Y Y
10.07_面向对象(类及其组成所使用的常见修饰符)
- A:修饰符:
- 权限修饰符:private,默认的,protected,public
 - 状态修饰符:static,final
 - 抽象修饰符:abstract
 
 B:类:
- 权限修饰符:默认修饰符,public
 - 状态修饰符:final
 抽象修饰符:abstract
用的最多的就是:public
C:成员变量:
- 权限修饰符:private,默认的,protected,public
 状态修饰符:static,final
用的最多的就是:private
D:构造方法:
权限修饰符:private,默认的,protected,public
用的最多的就是:public
E:成员方法:
- 权限修饰符:private,默认的,protected,public
 - 状态修饰符:static,final
 抽象修饰符:abstract
用的最多的就是:public
F:除此以外的组合规则:
- 成员变量:public static final
 - 成员方法:
- public static
 - public abstract
 - public final
 
 
10.08_面向对象(内部类概述和访问特点)
- A:内部类概述
 - B:内部类访问特点
- a:内部类可以直接访问外部类的成员,包括私有。
 - b:外部类要访问内部类的成员,必须创建对象。
 
 - C:案例演示
- 内部类极其访问特点
 
 
10.09_面向对象(成员内部类私有使用)
- private
 
10.10_面向对象(静态成员内部类)
- static
 - B:成员内部类被静态修饰后的访问方式是:
- 外部类名.内部类名 对象名 = new 外部类名.内部类名();
 
 
10.11_面向对象(成员内部类的面试题)
- A:面试题
 要求:使用已知的变量,在控制台输出30,20,10。 class Outer {
public int num = 10;
class Inner {
public int num = 20;
public void show() {
int num = 30;
System.out.println(?);
System.out.println(??);
System.out.println(???);
}
}
}
class InnerClassTest {
public static void main(String[] args) {
Outer.Inner oi = new Outer().new Inner();
oi.show();
}
}
10.12_面向对象(局部内部类访问局部变量的问题)
- A:案例演示
- 局部内部类访问局部变量必须用final修饰
 
 
10.13_面向对象(匿名内部类的格式和理解)
- A:匿名内部类
- 就是内部类的简化写法。
 
 - B:前提:存在一个类或者接口
- 这里的类可以是具体类也可以是抽象类。
 
 - C:格式:
 new 类名或者接口名(){
重写方法;
}
- D:本质是什么呢?
- 是一个继承了该类或者实现了该接口的子类匿名对象。
 
 - E:案例演示
- 按照要求来一个匿名内部类
 
 
10.14_面向对象(匿名内部类的方法调用)
- A:案例演示
- 匿名内部类的方法调用
 
 
10.15_面向对象(匿名内部类在开发中的应用)
- A:代码如下
 //这里写抽象类,接口都行
abstract class Person {
public abstract void show();
} class PersonDemo {
public void method(Person p) {
p.show();
}
} class PersonTest {
public static void main(String[] args) {
//如何调用PersonDemo中的method方法呢?
PersonDemo pd = new PersonDemo (); }
}
10.16_面向对象(匿名内部类的面试题)
- A:面试题
 按照要求,补齐代码
interface Inter { void show(); }
class Outer { //补齐代码 }
class OuterDemo {
public static void main(String[] args) {
Outer.method().show();
}
}
要求在控制台输出”HelloWorld”
阶段01Java基础day10面向对象05的更多相关文章
- 01-Java基础及面向对象
		
JAVA基础知识 Java 是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门面向 Internet 的高级编程语言. Java 虚拟机(JVM ...
 - 阶段01Java基础day26反射
		
27.01_反射(类的加载概述和加载时机) A:类的加载概述 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 加载 就是指将class文 ...
 - 阶段01Java基础day25网络编程
		
26.01_网络编程(网络编程概述) A:计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源 ...
 - 阶段01Java基础day24多线程+GUI
		
25.01_多线程(多线程方法) 1.yield让出cpu 2.setPriority()设置线程的优先级 25.02_多线程(单例设计模式)(掌握) 单例设计模式:保证类在内存中只有一个对象. 如何 ...
 - 阶段01Java基础day23多线程
		
23.01_多线程(多线程的引入) 1.什么是线程 线程是程序执行的一条路径, 一个进程中可以包含多条线程 多线程并发执行可以提高程序的效率, 可以同时完成多项工作 2.多线程的应用场景 红蜘蛛同时共 ...
 - 阶段01Java基础day22IO流03
		
22.01_IO流(序列流) 1.什么是序列流 序列流可以把多个字节输入流整合成一个, 从序列流中读取数据时, 将从被整合的第一个流开始读, 读完一个之后继续读第二个, 以此类推. 2.使用方式 整合 ...
 - 阶段01Java基础day21IO流02
		
21.01_IO流(字符流FileReader) 1.字符流是什么 字符流是可以直接读写字符的IO流 字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要写出字符, 需要把字符转为字节再写 ...
 - 阶段01Java基础day18集合框架04
		
18.01_集合框架(Map集合概述和特点) A:Map接口概述 查看API可以知道: 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能映射到一个值 B:Map接口和Collection接 ...
 - 阶段01Java基础day17集合框架03
		
17.01_集合框架(HashSet存储字符串并遍历) A:Set集合概述及特点 通过API查看即可 B:案例演示 HashSet存储字符串并遍历 HashSet<String> hs = ...
 
随机推荐
- WPF自定义漂亮的按钮样式
			
首先打开 Microsoft Visual Studio 2008 ,新建一个WPF项目,在上面随便放几个按钮: 然后给各个按钮设置不同的背景颜色: 设置好之后就是这样啦: 然后我们就开始在 App. ...
 - 20170912xlVBA批量导入txt文件
			
Public Sub BatchImportTextFiles() AppSettings 'On Error GoTo ErrHandler Dim StartTime, UsedTime As V ...
 - You Don't Know JS: this & Object Prototypes (第6章 Behavior Delegation)附加的ES6 class未读
			
本章深挖原型机制. [[Prototype]]比类更直接和简单! https://github.com/getify/You-Dont-Know-JS/blob/master/this%20%26%2 ...
 - cmd net use
			
前提条件 启动服务 首先保证目标的IPC服务启动,服务为lanmanWorkstation,显示名为Workstations 端口 telnet目标计算机lanmanWorkstation服务的两个端 ...
 - eth
			
今天说下Centos的eth0:0这个虚拟端口,应为学到ifcofig eth0:0 IP,可以给一个网卡设置俩个IP地址,但是只是临时设置,然而我想永久设置,所以就在网找,最终找到的方法是 可以先复 ...
 - 【洛谷p1012】拼数
			
(今天yuezhuren大课间放我们出来了……) (另外今天回了两趟初中部) 拼数[传送门] 洛谷算法标签: (然鹅这两个学的都不好,能过真的how strange) 开始的时候没读题啊,直接暴力so ...
 - react-native run-ios时报错xcrun: error: unable to find utility "instruments", not a developer tool or in PATH
			
命令行运行react-native 项目时,报错:xcrun: error: unable to find utility "instruments", not a develop ...
 - 使用LVM方式安装Ubuntu 16.04
			
--- By 小甘丶 注: 这里只讲解如何配置LVM,其他不再陈述! 这个方法,通用的!只要操作系统支持LVM即可!(个人推测,尚未证实) 配置好虚拟机后,开始安装,先进入Ubuntu使用界面,对磁盘 ...
 - 移动端rem适配 flex.js
			
(function() { document.addEventListener('DOMContentLoaded', function () { var html = document.docume ...
 - 克隆linux系统网卡问题
			
如果没有 ifcfg-eth0 手动创建 删掉uuid uwaddr 保存退出 然后清空 >/etc/udev/rules.d/70-persistent-net.rules 然后重启 reb ...