第2课第7节_Java面向对象编程_内部类_P【学习笔记】
摘要:韦东山android视频学习笔记
1、什么是内部类:在类的内部定义一个类,内部类可以访问类的私有属性
 class Outer{
     private int a = ;
     class Inner{
         public void printInfo(){
             System.out.println("a = " + a);
         }
     }
 }
 public class InnerDemo{
     public static void main(String args[]){
         Outer o = new Outer();
         Outer.Inner i =  o.new Inner();
         i.printInfo();
     }
 }
编译运行结果:

2、静态内部类可以不用先实例化类对象,在实例化内部类。需要static关键字.
 class Outer{
     private static  int a = ;
     static class Inner{
         public void printInfo(){
             System.out.println("a = " + a);
         }
     }
 }
 public class InnerDemo{
     public static void main(String args[]){
         //Outer o = new Outer();`
         Outer.Inner i = new Outer.Inner();
         i.printInfo();
     }
 }
编译运行结果

3、匿名内部类,有些类只定义一次之后就不在使用,可以使用匿名内部类。
 interface A{
     public void printInfo();
 }
 class B implements A{
     public void printInfo(){
         System.out.println("Hello,world!1");
     }
 }    
 public class Anony{
     public static void main(String args[]){
         testFunc(new B());
         testFunc(new A(){
             public void printInfo(){
                 System.out.println("Hello,world!2");
             }
         });
     }
     public static void testFunc(A a){
         a.printInfo();
     }
 }
编译运行结果

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

第2课第7节_Java面向对象编程_内部类_P【学习笔记】的更多相关文章
- 第2课第3节_Java面向对象编程_继承性_P【学习笔记】
		
摘要:韦东山android视频学习笔记 面向对象程序的三大特性之继承性:继承性的主要作用就是复用代码.继承性也有一定的限制,如图一 图一 1.我们在第2课第2节_Java面向对象编程_封装性_P 中 ...
 - 第2课第4节_Java面向对象编程_多态性_P【学习笔记】
		
摘要:韦东山android视频学习笔记 面向对象程序的三大特性之继承性: 1.向上转换:只能定义被子类覆写的方法,不能调用在子类中定义的方法. class Father { private int ...
 - 第2课第5节_Java面向对象编程_异常_P【学习笔记】
		
摘要:韦东山android视频学习笔记 java的异常处理的原则如下: 1.我们先写一个没有对异常处理的程序,在进行除法运算的时候,除数是非零的话,运行时没有问题的,但是除数为零的时候,运行就会有问 ...
 - 第2课第2节_Java面向对象编程_封装性_P【学习笔记】
		
摘要:韦东山android视频学习笔记 面向对象程序的三大特性之封装性:把属性和方法封装在一个整体,同时添加权限访问. 1.封装性的简单程序如下,看一下第19行,如果我们不对age变量进行权限的管控 ...
 - 第2课第1节_Java面向对象编程_类的引入_P【学习笔记】
		
摘要:韦东山android视频学习笔记 1. 面向对象编程的引入,我们先写一个简单的程序输出张三,李四的名字.代码如下,假如,现在我们要在名字前面添加籍贯广东,那样岂不是每个printf语句都得修改添 ...
 - 第2课第6节_Java面向对象编程_包和权限_P【学习笔记】
		
摘要:韦东山android视频学习笔记 1.使用package定义编译的时候存放的位置 package a.b.c.d; public class Package { public static v ...
 - 类和对象:面向对象编程 - 零基础入门学习Python037
		
类和对象:面向对象编程 让编程改变世界 Change the world by program 经过上节课的热身,相信大家对类和对象已经有了初步的认识,但似乎还是懵懵懂懂:好像面向对象编程很厉害,但不 ...
 - .net 4.0 面向对象编程漫谈基础篇读书笔记
		
话说笔者接触.net 已有些年头,做过的项目也有不少,有几百万的,也有几十万的,有C/S的,也有B/S的.感觉几年下来,用过的框架不少,但是.net的精髓一直没有掌握.就像学武之人懂得各种招式,但内功 ...
 - Python 进阶_OOP 面向对象编程_组合与继承
		
#目录 前言 组合 派生 通过继承来覆盖重载方法 最常用的重载场景实例方法的重载 从标准类中派生类方法的重载 前言 我们定义一个类是希望能够把类当成模块来使用,并把类嵌入到我们的应用代码中,与其他的数 ...
 
随机推荐
- Maven整合eclipse
			
1.配置eclipse本地Maven 点击Window-->Perference 选择Maven-->Installations 点击Add添加本地Maven 然后勾选本地Maven, ...
 - vue-cli 移动端项目如何在手机上调试预览
			
这里分享下如何在webpack工具构建下的vue项目,在手机端调试和预览,言归正传. 1.电脑和手机连接到同一个WIFI a.台式电脑和手机同时链接一个路由器,使用同一个wifi: b.笔记本也可以直 ...
 - Eclipse安装JDK11方式
			
安装JDK11JDK下载网址:https://www.oracle.com/technetwork/java/javase/downloads Java SE Development Kit 11ht ...
 - C++(五十) — 容器中元素满足的条件
			
容器中的内容必须满足三个条件: (1)无参构造函数 (2)拷贝构造函数 (3)重载 = 运算符 #define _CRT_SECURE_NO_WARNINGS #include <iostrea ...
 - 剑指offer:跳台阶问题
			
基础跳台阶 题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 解题思路 这道题就是斐波那契数列的变形问法,因为跳上第N个台阶 ...
 - Kotlin中Range与异常体系剖析
			
好用的集合扩展方法: 下面来看一下对于集合中好用的一些扩展方法,直接上代码: 如果我们想取出集合中的第一个值和最后一个值,用Java方式是get(0)和get(size-1),但是在Kotlin中提供 ...
 - danci4
			
advantage 英 [əd'vɑːntɪdʒ] 美 [əd'væntɪdʒ] n. 优势:利益:有利条件 vi. 获利 vt. 有利于:使处于优势 lack 英 [læk] 美 [læk] vt. ...
 - Vue --- 前后台总结
			
请求生命周期: 1.先请求路由,在去替换APP.vue中的router-views 2.@表示src 3.加载全局css: require('@/assets/....') 4.获取当前路由 this ...
 - Net-NTLMv1的利用思路
			
Net-NTLMv1的加密方法: 客户端向服务器发送一个请求 服务器接收到请求后,生成一个16位的Challenge,发送回客户端 客户端接收到Challenge后,使用登录用户的密码hash对Cha ...
 - Build Post Office II
			
Description Given a 2D grid, each cell is either a wall 2, an house 1 or empty 0 (the number zero, o ...