第2课第7节_Java面向对象编程_内部类_P【学习笔记】

摘要:韦东山android视频学习笔记 

1、什么是内部类:在类的内部定义一个类,内部类可以访问类的私有属性

 1 class Outer{
 2     private int a = 10;
 3     class Inner{
 4         public void printInfo(){
 5             System.out.println("a = " + a);
 6         }
 7     }
 8 }
 9 
10 
11 
12 public class InnerDemo{
13     public static void main(String args[]){
14         Outer o = new Outer();
15         Outer.Inner i =  o.new Inner();
16         i.printInfo();
17     }
18 }

编译运行结果:

2、静态内部类可以不用先实例化类对象,在实例化内部类。需要static关键字.

 1 class Outer{
 2     private static  int a = 10;
 3     static class Inner{
 4         public void printInfo(){
 5             System.out.println("a = " + a);
 6         }
 7     }
 8 }
 9 
10 
11 
12 public class InnerDemo{
13     public static void main(String args[]){
14         //Outer o = new Outer();`
15         Outer.Inner i = new Outer.Inner();
16         i.printInfo();
17     }
18 }

编译运行结果

3、匿名内部类,有些类只定义一次之后就不在使用,可以使用匿名内部类。

 1 interface A{
 2     public void printInfo();
 3 }
 4 
 5 class B implements A{
 6     public void printInfo(){
 7         System.out.println("Hello,world!1");
 8     }
 9 }    
10 
11 
12 public class Anony{
13     public static void main(String args[]){
14         testFunc(new B());
15         testFunc(new A(){
16             public void printInfo(){
17                 System.out.println("Hello,world!2");
18             }
19         });
20     }
21 
22     public static void testFunc(A a){
23         a.printInfo();
24     }
25     
26 }

编译运行结果

 相关代码存放在github,可以下载https://github.com/zzb2760715357/100ask 

觉得不错,就给我点小支持吧,蟹蟹

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式小庄老师

要是觉得不错,就给我点支持吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值