笔记:

package 任务135;
/**类的 内部类,
*1.相当于说, 我们可以在类的内部再定义类,
* 2.成员内部类:
* a.是外部类的一个成员,4个修饰符:static, final ,abstract ,可以调用外部类的属性和方法
* b.具有类的特点:
* 3.局部内部类:(定义在类的方法中! )
* 常常使用一个方法,使其成为某个类或接口的对象, 而这个类或者接口在方法内部创建
* 4.或者 new___(){}返回一个匿名的 实现这个类的对象
* 4.重点: 1)创建 2)如何区分调用外部类和内部类的变量; 3)局部内部类的使用
*/

代码:

public class TestInnerClass {
public static void main(String[] args) {
Person.Dog d= new Person.Dog(); //静态的创建对象的方法
//非静态的内部类的对象,需要先创建外部类的对象,通过外部类的对象调用内部类的对象
Person p=new Person();
Person.Bird b=p.new Bird();
b.setName("杜鹃2333");
}
}
class Person{
String name="韩梅梅";
int age;
//成员内部类,非静态的
class Bird{
String name="黄鹂";
int id;
public Bird() {
} public void setName(String name) {
System.out.println(name);
System.out.println(this.name);
System.out.println(Person.this.name);
}
@Override
public String toString() {
return "Bird{" +
"name='" + name + '\'' +
", id=" + id +
'}';
}
} //成员内部类,静态的
static class Dog{ }
public void show(){
System.out.println("我是show 方法");
}
public void method1(){ } } //局部内部类的使用
//常常使用一个方法,使其成为某个类或接口(Comparable)的对象, 而这个类或者接口在方法内部创建
class TestOuterClass{ //返回一个实现这个类的 对象
public Comparable getComparable(){
class MyComparable implements Comparable{
@Override
public int compareTo(Object o) {
return 0;
}
}
return new MyComparable();
}
//返回一个匿名的 实现这个类的对象
public Comparable getComparable2(){
return new Comparable(){
public int compareTo(Object o) {
return 0;
}
};
}
}

输出:

杜鹃2333
黄鹂
韩梅梅

Java 基础 面向对象- 成员内部类/局部内部类/举例Comparable 接口的匿名内部类的更多相关文章

  1. Java 基础 面向对象之关键字内部类代码块修饰符

    final final概念 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后 ...

  2. Java基础进阶:内部类lambda重点摘要,详细讲解成员内部类,局部内部类,匿名内部类,Lambda表达式,Lambda表达式和匿名内部类的区别,附重难点,代码实现源码,课堂笔记,课后扩展及答案

    内部类lambda重点摘要 内部类特点: 内部类可以直接访问外部类,包括私有 外部类访问内部类必须创建对象 创建内部对象格式: 外部类.内部类 对象名=new外部类().new内部类(); 静态内部类 ...

  3. Java基础-面向对象第三大特性之多态(polymorphism )

    Java基础-面向对象第三大特性之多态(polymorphism) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.多态概述 多态是继封装,继承之后,面向对象的第三大特性,多态的 ...

  4. Java基础-面向对象第一特性之封装(Encapsulation)

    Java基础-面向对象第一特性之封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.理解什么是面向过程和面向对象 面向过程与面向对象都是我们编程中 ...

  5. 第二十七节:Java基础面向对象-静态,单例模式,继承详情知识点

    前言 Java基础面向对象-静态,单例模式,继承详情知识点.静态-static关键字,static变量,静态代码块,代码块(不加静态),对象创建过程,单例模式,继承. 静态-static关键字 // ...

  6. “全栈2019”Java第一百章:局部内部类可以实现接口吗?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  7. java基础面向对象之类与对象

    java基础面向对象之类与对象 2017-01-14 1.面向对象的基本概念 以一种组建化的形式进行代码设计 1)在面向对象程序设计中包含有如下几种特性 •封装性:保护内部结构的安全性 •继承性:在已 ...

  8. Java基础-面向对象第二特征之继承(Inheritance)

    Java基础-面向对象第二特征之继承(Inheritance) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序 ...

  9. 夯实Java基础(十一)——内部类

    1.内部类的概念 内部类顾名思义:将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类.对于很多Java初学者来说,内部类学起来真的是一头雾水,根本理解不清楚是个什么东西,包括我自己(我太菜 ...

随机推荐

  1. 做了一个非竞价排名、有较详细信息的程序员职位 match 网站

    作为一个程序员,每次看机会当我去 BOSS 直聘 或者拉勾网进行搜索时,返回的顺序并不是根据匹配程度,而是这些公司给 BOSS 直聘或者拉勾网付了多少钱.这种百度式的竞价排名机制并没有把我做为求职者的 ...

  2. CSS History

    Preface 如果只是要写程序,那的确是不需要这么麻烦,上来直接看Syntax,动手写上至少300行代码,做上3个应用程序,这门语言你也就差不多会用了,接下来不过就是模式,特殊的地方以及记住一些函数 ...

  3. easyui-numberspinner实现双箭头效果

    效果图: 实现了 [点击左上角 输入框的值加 0.5] [ 左下角 值减0.5 ] [ 右上角点击 值加1] [ 右下角点击 值减1] 代码: <span style="positio ...

  4. java多线程上篇(三) -- 进程通信和线程死锁简单介绍

    进程通信指的是进程间的信息交换 ,IPC(Inter-Process Communication,进程间通信) 进程通信就相当于一种工作方式.沟通形式,进程通信主要指的就是操作系统提供的进程通信工具( ...

  5. MogileFS表说明

    MogileFS大致的表说明如下 checksum:用来存放文件的校验和class:文件分类定义device:主机上的可用设备定义,包括设备可用空间,使用的权重等信息domain:域定义信息file: ...

  6. 第四讲,数据目录表之导入表,以及IAT表

    一丶IAT(地址表) 首先我们思考一个问题,程序加载的时候会调用API,比如我们以前写的标准PE 那么他到底是怎么去调用的? 它会Call 下边的Jmp位置 而Jmp位置则是对一个全局变量取内容. 看 ...

  7. android 和 js 交互

    1.html代码 <script type="text/javascript"> function javacalljs(){ document.getElementB ...

  8. Spring基础篇——DI/IOC和AOP原理初识

    DI(Dependency Injection),依赖注入,和我们常听说的另一个概念 IOC(控制反转)其实归根结底实现的功能是相同的,只是同样的功能站在不同的角度来阐述罢了.这里博主就不去过多的辨析 ...

  9. JavaScript list转tree

    js list转tree //------------------------------------List Convert to Tree ---------------------------- ...

  10. 在论坛中出现的比较难的sql问题:1(字符串分拆+行转列问题 SQL遍历截取字符串)

    原文:在论坛中出现的比较难的sql问题:1(字符串分拆+行转列问题 SQL遍历截取字符串) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方 ...