Java学习笔记之:Java 内部类
一、介绍
内部类:存在与类中的类就是内部类,一般用于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 内部类的更多相关文章
- Java学习笔记之—Java基础
将学习到的JAVA基础用xmind记录了下来,需要原件的可以私信
- Java学习笔记--通过java.net.URLConnection发送HTTP请求
http://www.cnblogs.com/nick-huang/p/3859353.html 使用Java API发送 get请求或post请求的步骤: 1. 通过统一资源定位器(java.net ...
- java 学习笔记1 java语言概述及开发环境
高级语言运行机制 高级语言按程序的执行方式分为编译型和解释型两种. java语言比较特殊,Java程序的执行必须经过先编译后解释的步骤. 1 编译生成字节码,只面向JVM(.class) 2Jvm执行 ...
- Java 学习笔记 (三) Java 日期类型
以下内容摘自: https://www.cnblogs.com/crazylqy/p/4172324.html import java.sql.Timestamp; import java.text ...
- JAVA学习笔记之JAVA 对象引用以及赋值
关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用, 那实在没 ...
- 8.4(Java学习笔记)java脚本引擎(Rhino)
一.java脚本引擎 java脚本引擎是沟通java和脚本语句之间的桥梁,可以通过对应的脚本引擎在java中调用各种脚本语言. 二.脚本引擎执行脚本代码 ScriptEngineManager:为Sc ...
- Java 学习笔记(4)——java 常见类
上次提前说了java中的面向对象,主要是为了使用这些常见类做打算,毕竟Java中一切都是对象,要使用一些系统提供的功能必须得通过类对象调用方法.其实Java相比于C来说强大的另一个原因是Java中提供 ...
- Java学习笔记:04面向对象-内部类_访问修饰符_final
04面向对象-内部类/访问修饰符/final 1.static的介绍 static:关键字,静态的 static的作用是用来修饰类中的成员 2.访问一个类中的某一个成员变量 方法一: _1.创建对象 ...
- java学习笔记day06---匿名内部类
1.匿名内部类:其实就是内部类的简化形式,它所体现的就是一个类或者接口的子类对象.前提: 内部类必须继承或实现外部类或接口. 格式: new 父类&接口(){}; 其实就是 ...
- Java 学习笔记(1)——java基础语法
最近抽时间在学习Java,目前有了一点心得,在此记录下来. 由于我自己之前学过C/C++,而Java的语法与C/C++基本类似,所以这一系列文章我并不想从基础一点点的写,我想根据我已有的C/C++经验 ...
随机推荐
- python的urllib2库详细使用说明
一直以来技术群里会有新入行的同学提问关于urllib和urllib2以及cookielib相关的问题.所以我打算在这里总结一下,避免大家反复回答同样的问题浪费资源. 这篇属于教程类的文字,如果你已经非 ...
- iptables规则表
1.iptables规则表 Filter(针对过滤系统):INPUT.FORWARD.OUTPUT NAT(针对地址转换系统):PREROUTING.POSTROUTING.INPUT.OUTPUT ...
- text-overflow 与 word-wrap:设置使用一个省略标记...标示对象内文本的溢出。
text-overflow 与 word-wrap text-overflow用来设置是否使用一个省略标记(...)标示对象内文本的溢出. 语法: 但是text-overflow只是用来说明文字溢出时 ...
- c++ swap 函数
转载地址 1,最通用的模板交换函数模式:创建临时对象,调用对象的赋值操作符. template <class T> void swap ( T& a, T& b ) { T ...
- 博文&零散信息阅读
关于培养方案: 全国一线高校.网易云课堂和我院培养计划的区别主要体现在: 基础课上,我院删去了物理课程的必修要求. 专业课上,删去了汇编语言.编译原理.信息安全技术等学科的必修要求. 专业选修课上,我 ...
- 【CentOS】Eclipse中svn插件使用
目录: 1.安装 2.使用 3.错误 1.安装 svn插件地址: Subclipse 1.6.x Update Site - http://subclipse.tigris.org/update_1. ...
- 【概率DP/高斯消元】BZOJ 2337:[HNOI2011]XOR和路径
2337: [HNOI2011]XOR和路径 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 682 Solved: 384[Submit][Stat ...
- [原] blade中C++ singleton的实现
最近看了龚大大KalyGE中的singleton, 觉得非常不错(C++中线程安全并且高效的singleton). 可惜blade的代码都是C++03的, 没有使用C++11的任何特性. 笔者对于si ...
- [geeksforgeeks] Count the number of occurrences in a sorted array
Count the number of occurrences in a sorted array Given a sorted array arr[] and a number x, write a ...
- nodejs快速入门
目录: 编写第一个Node.js程序: 异步式I/O和事件循环: 模块和包: 调试. 1. 编写第一个Node.js程序: Node.js 具有深厚的开源血统,它诞生于托管了许多优秀开源项目的网站—— ...