黑马程序员———面向对象之包、访问修饰符、内部类
2015-08-13 23:06
483 查看
------<a target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
一.包:
1.定义包使用关键字:package;
1).注意事项:
A.package语句必须是程序的第一条可执行的代码
B.package语句在一个java文件中只能有一个
C.如果没有package,默认表示无包名
2.导入包使用关键字:import;
1).注意事项:
A.导入到最终的类;
B.可以使用通配符:*,只统配包下的类,不包括子包下的其它类;
C.在一个类文件中,可以有多条import语句;
D.import语句必须在package语句之后,在定义类之前;
3.package,import,class有没有顺序关系?
有:package-->import-->class
二.访问修饰符:
1.用于限定“类”和“成员”被其它包下的其它类访问的;
2.四种访问修饰符:
1).public(公有):可以修饰类、成员。可以被任何包下的其它类访问;
2).protected(保护):可以修饰成员。可以被同包下的其它类访问。如果在包外
只能被子类访问;
3).(默认):可以修饰类、成员。只能被包内的其它类访问;
4).private(私有):可以修饰成员。只能被类中的其它方法访问;
3.类及成员可用的修饰符:
1).类:
默认,public,final,abstract
我们自己定义:public居多
2).成员变量:
四种权限修饰符均可,final,static
我们自己定义:private居多
3).构造方法:
四种权限修饰符均可,其他不可
我们自己定义:public 居多
4).成员方法:
四种权限修饰符均可,fianl,static,abstract
我们自己定义:public居多
三.内部类:
1.成员内部类:
1).定义在类体中,作为类的成员;
2).可以使用同类“成员方法”相同的修饰符;
2.局部内部类:
1).定义在某个方法或代码块内部;
2).不能使用“访问修饰符”,不能使用static修饰符;可以使用final和abstract
3).注意:局部内部类访问“局部变量”,要求局部变量必须是final的(常量);
3.匿名内部类:
1).就是内部类的简化写法。
2).前提:存在一个类或者接口
这里的类可以是具体类也可以是抽象类。
3).格式:
new 类名或者接口名() {重写方法;}
4).本质:
是一个继承了类或者实现了接口的子类匿名对象
内部类的具体事例
一.包:
1.定义包使用关键字:package;
1).注意事项:
A.package语句必须是程序的第一条可执行的代码
B.package语句在一个java文件中只能有一个
C.如果没有package,默认表示无包名
2.导入包使用关键字:import;
1).注意事项:
A.导入到最终的类;
B.可以使用通配符:*,只统配包下的类,不包括子包下的其它类;
C.在一个类文件中,可以有多条import语句;
D.import语句必须在package语句之后,在定义类之前;
3.package,import,class有没有顺序关系?
有:package-->import-->class
二.访问修饰符:
1.用于限定“类”和“成员”被其它包下的其它类访问的;
2.四种访问修饰符:
1).public(公有):可以修饰类、成员。可以被任何包下的其它类访问;
2).protected(保护):可以修饰成员。可以被同包下的其它类访问。如果在包外
只能被子类访问;
3).(默认):可以修饰类、成员。只能被包内的其它类访问;
4).private(私有):可以修饰成员。只能被类中的其它方法访问;
3.类及成员可用的修饰符:
1).类:
默认,public,final,abstract
我们自己定义:public居多
2).成员变量:
四种权限修饰符均可,final,static
我们自己定义:private居多
3).构造方法:
四种权限修饰符均可,其他不可
我们自己定义:public 居多
4).成员方法:
四种权限修饰符均可,fianl,static,abstract
我们自己定义:public居多
三.内部类:
1.成员内部类:
1).定义在类体中,作为类的成员;
2).可以使用同类“成员方法”相同的修饰符;
2.局部内部类:
1).定义在某个方法或代码块内部;
2).不能使用“访问修饰符”,不能使用static修饰符;可以使用final和abstract
3).注意:局部内部类访问“局部变量”,要求局部变量必须是final的(常量);
3.匿名内部类:
1).就是内部类的简化写法。
2).前提:存在一个类或者接口
这里的类可以是具体类也可以是抽象类。
3).格式:
new 类名或者接口名() {重写方法;}
4).本质:
是一个继承了类或者实现了接口的子类匿名对象
内部类的具体事例
<span style="font-size:14px;">interface Inter { void show(); } class Outer { //补齐代码 public static Inter method(){ // return Inter的子类对象; return new Inter(){ public void show(){ System.out.println("HelloWorld"); } }; } } class Demo { public static void main(String[] args) { Outer.method().show(); } }</span>
相关文章推荐
- iOS 面试题(二)
- 黑马程序员--java概述
- 剑指offer面试题java实现之题5:逆序打印链表
- 黑马程序员———面向对象之继承super和final关键字
- 黑马程序员———面向对象之封装及this和static关键字
- 黑马程序员———Java编程基础之面向对象
- 黑马程序员———Java基本语法
- 黑马程序员——Java基础--面向对象(2)
- 黑马程序员———Java概述
- 黑马程序员——多线程1
- 黑马程序员——抽象类与接口
- strcmp,strlen,strcmp,strcat实现
- 黑马程序员——泛型
- 简化IT程序员工作生活的4个窍门
- sql 面试题
- 剑指offer_面试题20_顺时针打印矩阵(思路在一步步分解之中)
- 电话面试问答Top 50 --[伯乐在线]
- 黑马程序员——Java基础--面向对象(1)
- 黑马程序员——Java基础--编程基础(2)
- 海量数据处理面试题