Java面向对象㈢ -- 内部类
内部类必须要依赖于继承或实现一个接口。
内部类可以实现Java多继承,内部类访问外表类的局部变量或参数时,则该局部变量或参数必须被final修饰。内部类不能包含有static的变量和方法,原因是因为内部类依赖于外部类,它才能创建自己。
内部类可以任意的访问外部类的成员,即使以private修饰,内部类需要通过外部类来访问。内部类的形式可以有继承,实现和参数式。访问外部类时使用外部类名.this。
内部类编译后文件名是外部类$内部类。
同时还有一个匿名内部类,直接new()加所要使用的函数。
内部类可以出现在成员位置和局部位置,匿名内部类则在局部位置。
interface In{
void listen();
}
class Outter{
private int i = 1;
public void say(){
final int i = 2;
new In(){
public void listen(){
System.out.println(i);
}
}.listen();
}
}
public class Demo2 {
public static void main(String[] args) {
new Outter().say();
}
}
输出:
2
Java面向对象㈢ -- 内部类的更多相关文章
- JAVA面向对象-----内部类的概述
JAVA面向对象-–内部类的概述s 将类定义在另一个类的内部则成为内部类.其实就是类定义的位置发生了变化. 在一个类中,定义在类中的叫成员变量,定义在函数中的叫成员函数,那么根据类定义的位置也可以分为 ...
- java面向对象--内部类
将一个类定义在另一个类里面,里面的那个类称为内部类,与属性.方法等一样视作外部类的成员.内部类提供了更好的封装,不允许同包中的其他类访问该内部类. 内部类作为外部类的成员,同样可以被4个访问限定符修饰 ...
- java 面向对象内部类
1.内部类概念:将一个类定义在另一个类的内部,该类就称为内部类 类中定义的内部类特点1) 内部类作为外部类的成员,可以直接访问外部类的成员(包括 private 成员),反之则不行.2) 内部类做为外 ...
- Java面向对象 Object类 内部类
Java面向对象 Object类 内部类 知识概要: 一:Object类 二:内部类 匿名内部类的写法 1.Object O ...
- 如何讲清楚 Java 面向对象的问题与知识?(类与对象,封装,继承,多态,接口,内部类...)
写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...
- Java学习笔记:04面向对象-内部类_访问修饰符_final
04面向对象-内部类/访问修饰符/final 1.static的介绍 static:关键字,静态的 static的作用是用来修饰类中的成员 2.访问一个类中的某一个成员变量 方法一: _1.创建对象 ...
- Java面向对象程序设计--接口和内部类
1.接口的定义: In the Java programming language, an interface is not a class but staff[0] = ...
- Java面向对象的多态
Java中多态的概念是面向对象中除封装和继承外非常重要的知识点,也是Java面向对象三大特性最后一个特性 多态其实就是指对象存在的多种形态,多态分为引用多态和方法多态 引用多态的含义就是:父类的引用可 ...
- Java面向对象的封装
封装是Java面向对象的三大特性之一,通常我们是通过包管理机制同时对类进行封装,隐藏其内部实现细节,通常开发中不允许直接操作类中的成员属性,所以属性一般设置为私有权限private,类中一般会给出一些 ...
随机推荐
- Linux下的五个查找命令:grep、find、locate、whereis、which
原文转自 http://www.cnblogs.com/wanqieddy/archive/2011/07/15/2107071.html 1.grep grep(General Regular Ex ...
- 使用java连接sqlserver2008 R2/sqlserver2008
package com.product.jdbc.dbutil; import java.sql.Connection;import java.sql.DriverManager;import jav ...
- GithubPage 的简单使用
这是我第一次写博客,主要是记录自己前端学习的经历.这次写一下GitHubpage 的简单使用.我用这里并没有想挂博客,主要是挂自己的一些小作品应用到简历中. 第一步: 首先先注册Github账号,创建 ...
- 利用html5的localStorage做一个备忘录
实现一个便签功能,可以记录内容和写的时间,当网页从新载入,可以读取以前的记录. html文档 <!DOCTYPE html> <html> <head lang=&quo ...
- [THINKING IN JAVA]操作符
3 操作符 3.1 static import 可以static import静态方法和变量,这样就可以在不写类名的前提下调用类中的静态方法和变量: package com.chenlei.study ...
- B-index、bitmap-index、text-index使用场景详解
索引的种类:B-tree索引.Bitmap索引.TEXT index1. B-tree索引介绍: B-tree 是一种常见的数据结构,也称多路搜索树,并不是二叉树.B-tree 结构可以显著减少定位 ...
- HttpModule & HttpHandler
ASP.NET 处理请求的过程 inetinfo.exe:www 服务进程,IIS 服务 和 ASPNET_ISAPI.dll 都寄存在此进程中. ASPNET_ISAPI.dll:处理 .aspx ...
- Reed-Solomon码,QR
原文: Reed–Solomon codes for coders参考: AN2407.pdfWIKI: 里德-所罗门码实现:Pypi ReedSolo #译注:最近看到了RS码,发现还挺有意思的,找 ...
- updatepanel 回发或回调参数无效
不同于网上的其它情况,这个是由于通过js修改了服务器控件Select的列表项数目,导致验证viewstate时出现的问题.最后改为通过服务器代码来给Select加选项,就不会报这个错误了. 服务器控件 ...
- Docker 官网信息
Docker Engine Docker-for-linuxhttps://docs.docker.com/engine/installation/linux/rhel/https://docs.do ...