码迷,mamicode.com
首页 > 编程语言 > 详细

大龄屌丝自学笔记--Java零基础到菜鸟--020

时间:2015-09-20 13:13:05      阅读:305      评论:0      收藏:0      [点我收藏+]

标签:

包,权限修饰符,内部类,练习题

 

1、包

包:package,对类进行分类管理的文件夹。

包的格式:package 包名,多级包用 “.” 隔开,如:package asia.persia 。

带包文件的编译:手动创建相应的文件夹;或者编译命令加 “ -d” ,如:javac -d liverpool.java 。

访问不同包中的类文件:类文件前加上包的全路径,如:asia.persia.Demo de=new asia.persia.Demo(); 。

           使用 “import” 关键字导入包。

import:导入包,import 包名,多级包用 “.” 隔开,如:import asia.persia ,之后就可以直接 Demo de=new Demo(); 。 

注意事项:package必须是程序的第一条执行语句,没有package表示没有包名。

     一个文件中,package只能有一个、import可以有多个、class可以有多个(建议有一个)。

 

2、权限修饰符。

技术分享

 

3、内部类

内部类的概念:定义在类中的类,如:class C1{ class C2{} } 。

内部类的特点:内部类可以直接访问外部类的成员,外部类需要创建对象访问内部类的成员。

内部类的分类:成员内部类,局部内部类。

 1 class A{
 2     class B{
 3         //成员内部类
 4     }
 5 
 6     public void cod5(){
 7         class C{
 8             //局部内部类
 9         }
10 
11         C c=new C();  //访问局部内部类
12         //c.局部内部类的功能
13     }
14 
15     public void cod2(){
16         B b=new B();  //访问成员内部类
17     }
18 }
19 
20 class ABC{
21     public void asdf(){
22         A.B ab=new A().new B();  //访问成员内部类
23         ab.cod5();  //访问局部内部类
24     }
25 }

 

成员内部类与this。

 1 class Fin{
 2     int num=1;
 3 
 4     class En{
 5         int num=2;
 6 
 7         public void show(){
 8             int num=3;
 9 
10             System.out.println(num);
11             System.out.println(this.num);
12             System.out.println(Fin.this.num);
13         }
14     }
15 }
16 
17 //依次输出:3,2,1

 

局部内部类访问局部变量,局部变量必须用final修饰,否则生命周期报错。

 1 class Fin{
 2     public void method{
 3         final int num=1;
 4 
 5         class En{
 6             public void show(){
 7                 System.out.println(num);
 8             }
 9         }
10     }
11 }

 

注意事项:静态内部类只能访问外部类的静态成员;静态内部类可以定义静态、非静态方法。

 

4、练习题

技术分享

答案

 1 interface Inter{
 2     void show();
 3 }
 4 
 5 class Outer{
 6     //补齐代码
 7     public static Inter method(){
 8         return new Inter(){
 9             public void show(){
10                 System.out.println("HelloWord");
11             }
12         }
13     }
14 }
15 
16 class OuterDemo{
17     public static void main(String[] args){
18         Outer.method().show();
19     }
20 }
21 
22 //输出:HelloWord

 

大龄屌丝自学笔记--Java零基础到菜鸟--020

标签:

原文地址:http://www.cnblogs.com/liverpool/p/4823206.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!