摘要:韦东山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【学习笔记】的更多相关文章

  1. 第2课第3节_Java面向对象编程_继承性_P【学习笔记】

    摘要:韦东山android视频学习笔记  面向对象程序的三大特性之继承性:继承性的主要作用就是复用代码.继承性也有一定的限制,如图一 图一 1.我们在第2课第2节_Java面向对象编程_封装性_P 中 ...

  2. 第2课第4节_Java面向对象编程_多态性_P【学习笔记】

    摘要:韦东山android视频学习笔记  面向对象程序的三大特性之继承性: 1.向上转换:只能定义被子类覆写的方法,不能调用在子类中定义的方法. class Father { private int ...

  3. 第2课第5节_Java面向对象编程_异常_P【学习笔记】

    摘要:韦东山android视频学习笔记  java的异常处理的原则如下: 1.我们先写一个没有对异常处理的程序,在进行除法运算的时候,除数是非零的话,运行时没有问题的,但是除数为零的时候,运行就会有问 ...

  4. 第2课第2节_Java面向对象编程_封装性_P【学习笔记】

    摘要:韦东山android视频学习笔记  面向对象程序的三大特性之封装性:把属性和方法封装在一个整体,同时添加权限访问. 1.封装性的简单程序如下,看一下第19行,如果我们不对age变量进行权限的管控 ...

  5. 第2课第1节_Java面向对象编程_类的引入_P【学习笔记】

    摘要:韦东山android视频学习笔记 1. 面向对象编程的引入,我们先写一个简单的程序输出张三,李四的名字.代码如下,假如,现在我们要在名字前面添加籍贯广东,那样岂不是每个printf语句都得修改添 ...

  6. 第2课第6节_Java面向对象编程_包和权限_P【学习笔记】

    摘要:韦东山android视频学习笔记  1.使用package定义编译的时候存放的位置 package a.b.c.d; public class Package { public static v ...

  7. 类和对象:面向对象编程 - 零基础入门学习Python037

    类和对象:面向对象编程 让编程改变世界 Change the world by program 经过上节课的热身,相信大家对类和对象已经有了初步的认识,但似乎还是懵懵懂懂:好像面向对象编程很厉害,但不 ...

  8. .net 4.0 面向对象编程漫谈基础篇读书笔记

    话说笔者接触.net 已有些年头,做过的项目也有不少,有几百万的,也有几十万的,有C/S的,也有B/S的.感觉几年下来,用过的框架不少,但是.net的精髓一直没有掌握.就像学武之人懂得各种招式,但内功 ...

  9. Python 进阶_OOP 面向对象编程_组合与继承

    #目录 前言 组合 派生 通过继承来覆盖重载方法 最常用的重载场景实例方法的重载 从标准类中派生类方法的重载 前言 我们定义一个类是希望能够把类当成模块来使用,并把类嵌入到我们的应用代码中,与其他的数 ...

随机推荐

  1. MongoDB 目录分析、基础命令、参数设置

    目录分析 1.整体目录 以msi默认的data.log路径安装,才会有data.log文件夹. 2.bin目录 3.log目录 基础命令 1.服务器端基础命令 net  start  MongoDB  ...

  2. 使用ABAP绘制可伸缩矢量图

    Jerry去年的文章 动手使用ABAP Channel开发一些小工具,提升日常工作效率 里曾经介绍过一些用ABAP实现的可供娱乐的小程序,比如用古老的HPGL接口在SAPGUI里绘图: 关于如何用SA ...

  3. unity shader入门(四):高光

    高光反射计算公式(phong模型)Cspecular=(Clight*Mspecular)max(0,v*r)mgloss mgloss为材质的官泽度,也成反射度,控制高光区域亮点有多大 Mspecu ...

  4. mybatis添加sql打印功能

    添加配置文件: mybatis-config.xml <?xml version="1.0" encoding="UTF-8"?> <!DOC ...

  5. liunx 安装nc/netcat centos安装netcat

    如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人.谢谢大家!❤ 如果解决不了,可以在文末进群交流. 1:下载源码包,wget https://sourceforge.net/projects/n ...

  6. H3C 802.11网络的基本元素

  7. MySQL存储过程01

    过程:封装了若干条语句,调用时,这些封装体执行 函数:是一个由返回值的’过程‘ 过程是没有返回值的函数 我们把若干条sql封装起来,起个名字---过程 把此过程存储在数据库中------存储过程 存储 ...

  8. The Instruction Set In Cortex-M3

    The Cortex-M3 supports the Thumb-2 instruction set. This is one of the most important features of th ...

  9. Thinkphp 配置不用输入index.php

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u011186019/article/det ...

  10. js面向对象--由浅入深

    基本概念 ECMA关于对象的定义是:”无序属性的集合,其属性可以包含基本值.对象或者函数.“对象的每个属性或方法都有一个名字,而每个名字都映射到一个值. 类 在现实生活中,相似的对象之间往往都有一些共 ...