一、介绍

内部类:存在与类中的类就是内部类,一般用于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. 32.DDR2仿真结果

    在STG之前,做了下Modelim,可以进行读写测试,关于速度的研究还需要看手册 数据终于出来了

  2. GCC编译默认的头文件搜索路径

    对于c语言来说: gcc -xc -E -v - 截图: 对于c++来说: gcc -xc++ -E -v - 截图: gcc的arg和opt解释: 后面一干啥作用暂时不知道

  3. 【每日scrum】NO.3

    1.感觉需求分析没有想象的那么简单,今天由于某些原因没有完成.

  4. 我给女朋友讲编程html系列(2) --Html标题标签h1

    Html是一门标签语言,因此学习Html最快的方式就是学习使用html标签. html标题标签:h1,h2,h3,h4,h5,h6 标题标签总共有6个,h1,h2,h3,h4,h5,h6,从h1到h6 ...

  5. 通过HTML5获取当前位置

    // 当前位置 function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPositi ...

  6. How to Build Android Applications Based on FFmpeg by An Example

    This is a follow up post of the previous blog How to Build FFmpeg for Android.  You can read the pre ...

  7. Netsharp快速入门(之13) 销售管理(单据流转 销售订单生成发货单)

    作者:秋时 杨昶   转载须说明出处 4.5     单据流转 4.5.1  单据流转的目的 单据流转主要为了实现业务关系的流转,并记录相互之间的关系.例如从销售订单生成销货单,两张单据之间有对应的关 ...

  8. 【NOI模拟赛(湖南)】DeepDarkFantasy

    DeepDarkFantasy 从东京出发,不久便到一处驿站,写道:日暮里.  ——鲁迅<藤野先生> 定义一个置换的平方为对1~n的序列做两次该置换得到的序列.已知一个置换的平方,并且这个 ...

  9. On Explainability of Deep Neural Networks

    On Explainability of Deep Neural Networks « Learning F# Functional Data Structures and Algorithms is ...

  10. AngularJs学习笔记--Forms

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/forms 控件(input.select.textarea)是用户输入数据的一种方式.Form(表单) ...