一、介绍

内部类:存在与类中的类就是内部类,一般用于Android开发。
 可以把内部类理解成一种继承关系
 1.普通内部类
 2.局部内部类
 3.静态内部类
 4.匿名内部类

二、笔记

1.普通内部类

/**
* 普通内部类:声明在类中,方法外的类
* 1.内部类可以直接访问外部类的属性和方法 包含私有的
* 2.外部类不能直接访问内部类的属性和方法,可以通过对象来访问,包含私有的
*
*
*/
public class NormalInnerClass { public static void main(String[] args) {
NormalInnerClass.Son fSon=new NormalInnerClass().new Son();
}
private String nameString; public void tell() { } //普通内部类 可以理解为是一个特殊的方法,可以创建对象
class Son {
private int age;
public void tell() {
System.err.println(nameString);
}
}
}

2.局部内部类

/**
* 局部内部类:声明在方法中的类,他的作用域只能在声明这个类的方法中
* 1.局部内部类,可以直接访问外部类的所有方法,包括私有
* 2.他的作用域只能在声明这个类的方法中,其他的方法不能访问,其他的类也不能访问
* 3.通过外部内部类来访问局部内部类
* 4.普通内部类不能有静态方法和静态变量
*
*/
public class LocalInnerClass { private String nameString="admin";
public void tell() { class son{
public void tell() { }
}
}
}

3.静态内部类

/**
* 静态内部类:
* 1.内部类只能直接访问外部类的静态属性和方法。
* 2.外部类只能通过类名直接访问内部类额静态属性和方法。成员属性和方法需要通过创建对象
* 3.可以有静态方法 静态变量 实例变量 实例方法
* 4.其他类可以通过类名直接调用静态属性和方法,通过创建对象访普通方法
*
*/
public class StaticInnerClass {
private static String name;
static class Son{
private String tr;
private static int age;
public void tell()
{
System.out.println(name);
} }
}

4.匿名内部类

/**
* 匿名内部类 通过调用
*
*
*/
public class AnonymityInnerClass {
public static void main(String[] args) {
Father father = new Father() {
@Override
public void menth() {
// TODO 自动生成的方法存根
super.menth();
}
};
}
} class Father { public Father() {
// TODO 自动生成的构造函数存根
} public void menth() {
System.out.println("1");
}
}

Java学习笔记之:Java 内部类的更多相关文章

  1. Java学习笔记之—Java基础

    将学习到的JAVA基础用xmind记录了下来,需要原件的可以私信

  2. Java学习笔记--通过java.net.URLConnection发送HTTP请求

    http://www.cnblogs.com/nick-huang/p/3859353.html 使用Java API发送 get请求或post请求的步骤: 1. 通过统一资源定位器(java.net ...

  3. java 学习笔记1 java语言概述及开发环境

    高级语言运行机制 高级语言按程序的执行方式分为编译型和解释型两种. java语言比较特殊,Java程序的执行必须经过先编译后解释的步骤. 1 编译生成字节码,只面向JVM(.class) 2Jvm执行 ...

  4. Java 学习笔记 (三) Java 日期类型

    以下内容摘自:  https://www.cnblogs.com/crazylqy/p/4172324.html import java.sql.Timestamp; import java.text ...

  5. JAVA学习笔记之JAVA 对象引用以及赋值

      关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用, 那实在没 ...

  6. 8.4(Java学习笔记)java脚本引擎(Rhino)

    一.java脚本引擎 java脚本引擎是沟通java和脚本语句之间的桥梁,可以通过对应的脚本引擎在java中调用各种脚本语言. 二.脚本引擎执行脚本代码 ScriptEngineManager:为Sc ...

  7. Java 学习笔记(4)——java 常见类

    上次提前说了java中的面向对象,主要是为了使用这些常见类做打算,毕竟Java中一切都是对象,要使用一些系统提供的功能必须得通过类对象调用方法.其实Java相比于C来说强大的另一个原因是Java中提供 ...

  8. Java学习笔记:04面向对象-内部类_访问修饰符_final

    04面向对象-内部类/访问修饰符/final 1.static的介绍 static:关键字,静态的 static的作用是用来修饰类中的成员 2.访问一个类中的某一个成员变量 方法一: _1.创建对象 ...

  9. java学习笔记day06---匿名内部类

    1.匿名内部类:其实就是内部类的简化形式,它所体现的就是一个类或者接口的子类对象.前提:     内部类必须继承或实现外部类或接口. 格式:    new 父类&接口(){};    其实就是 ...

  10. Java 学习笔记(1)——java基础语法

    最近抽时间在学习Java,目前有了一点心得,在此记录下来. 由于我自己之前学过C/C++,而Java的语法与C/C++基本类似,所以这一系列文章我并不想从基础一点点的写,我想根据我已有的C/C++经验 ...

随机推荐

  1. java数据结构和算法------顺序查找

    package iYou.neugle.search; public class Sequence_search { public static int SequenceSearch(double[] ...

  2. Datawarehouse

  3. 读Windows编程

    1.Windows是一个消息驱动系统.它通过把消息投入应用程序消息队列中或者把消息发送给合适的窗口消息处理程序,将发生的各种事件通知给应用程序 2.尽管一个动态链接库模块可能有其它扩展名(如.EXE或 ...

  4. iTween基础之功能简介

    一.iTween 介绍 .二.iTween 原理.三.iTween 下载.四.iTween 类介绍.五.主要功能介绍 原文地址:http://blog.csdn.net/dingkun520wy/ar ...

  5. 学Lua(上)

    学Lua(上) 在很多游戏中,脚本语言是不可或缺的一部分,很多游戏都使用到了Lua,js,python一类的脚本,脚本语言可以在很多方面给开发进程带来帮助.脚本语言可以作为初始化文件读入变量和游戏数据 ...

  6. ionic+cordova+angularJs

    ionic+cordova+angularJs 这里详细介绍下如何用ionic+cordova+angularjs搭建自己的移动端app,包括环境搭建,框架使用等,具体项目已放置在github上,可下 ...

  7. C# 把引用的dll嵌入到exe文件中

    当发布的程序有引用其它dll, 又只想发布一个exe时就需要把dll打包到exe 当然有多种方法可以打包, 比如微软的ILMerge,混淆器附带的打包... 用代码打包的实现方式也有很好,本文只是其中 ...

  8. 关于 Google Chrome 中的全屏模式和 APP 模式

    前言:我一直在纠结这篇文章是否应该归类在「前段开发」的范围内,哈哈! 前段时间做了一个项目,涉及到一个要全屏模式去访问网页的需求,因为 Google Chrome 的效率不错,而且专门为 Chrome ...

  9. 宠物AI(个人觉得有问题)

    //宠物AI流程 .刚开始添加宠物 Monster被动State:EnumMonster被NULL MonsterStat:EnumPet跟随 .附近有怪物就改成攻击模式(相关的收尾工作) void ...

  10. Kafka的coordinator

    (基于0.10版本) Group Management Protocol Kafka的coordiantor要做的事情就是group management,就是要对一个团队(或者叫组)的成员进行管理. ...