Innerclasses
内部类只能让它的外部类访问,其他同包的类也无法访问!方法里也能建内部类
1 public class Innerclasses {
2 public static void main(String[] args){
3 Face f=new Face();// 必须让外部类先创建一个实例,才能调用内部类!
4 Face.Nose n=f.new Nose();//这里不能直接!!调用face类里的nose类 Nose n=new Nose();
5 n.breath();
6 Face.Ear e=new Face.Ear();
7 e.listen();//静态内部类和其他的不同可以一步就创建一个实例,不需要外部类存在实例就直接建一个实例。
8 }
9 }
10
11
12 class Face{
13 int type;
14 String xingzhuang="瓜子脸";
15 static String color="红润";
16 class Nose{
17 String type;
18 void breath(){
19 System.out.println(xingzhuang);
20 System.out.println(Face.this.type);//这里访问的是外部类里的type如果没加Face.则应该是访问自己的变量
21 //如果内部类没这个变量即没有重名可以直接调用type,如xingzhuang;
22 System.out.println("呼吸!");
23 }
24 }
25 static class Ear{
26 void listen(){
27 System.out.println("我在听!");
28 System.out.println(color);//静态内部类只可以调用外部类中的静态变量,非静态的不行;
29 //静态内部类看作外部类的一个静态成员!静态内部类对象存在,不一定存在对应的外部类对象
30 }
31 }
32 }
内部类可以访问调用外部类中的属性但是外部类无法调用内部类的内部属性
Innerclasses的更多相关文章
- [java] 深入理解内部类: inner-classes
[java] 深入理解内部类: inner-classes // */ // ]]> [java] 深入理解内部类: inner-classes Table of Contents 1 简介 ...
- Android编译错误, Ignoring InnerClasses attribute for an anonymous inner class
今天在做android项目时,加入第三方包,一编译就报错.错误如下:[2012-01-13 14:51:25 - xxx] Dx warning: Ignoring InnerClasses attr ...
- java innerclasses(内部类)
可以将一个类定义在另一个类的内部,这就是内部类 创建内部类的方式---把类的定义置于外部类的里面 典型的情况是,外部类将有一个方法,该方法返回一个指向内部类的引用,就像在to()和contents() ...
- 【Android】Ignoring InnerClasses attribute for an anonymous inner class
这个问题是因为Android只能有6w个方法,解决方法,在defaultConfig中加入一句:multiDexEnabled true
- Android Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
今天项目发布时遇到了这个问题,在低版本设备上面死活发布不上去,还有打包也打不成功,折腾了好长一段时间,网上大部分给出的 解决方案都是说 在工程的混淆配置文件 proguard-rules.pro 中加 ...
- 内部类(innerclasses)
一般情况下,我们把类定义成独立的单元.有些情况下,我们把一个类放在另一个类的内部定义为内部类. 内部类的作用: 1.内部类提供了更好的封装.只能让外部类直接访问,不允许同一个包中的其他类直接访问. 2 ...
- 《深入理解Java虚拟机》类文件结构
上节学习回顾 在上一节当中,主要以自己的工作环境简单地介绍了一下自身的一些调优或者说是故障处理经验.所谓百变不离其宗,这个宗就是我们解决问题的思路了. 本节学习重点 在前面几章,我们宏观地了解了虚拟机 ...
- android 视频录制 混淆打包 之native层 异常的解决
原文地址:http://www.cnblogs.com/linguanh/ (滑至文章末,直接看解决方法) 问题起因: 前5天,因为项目里面有个类似 仿微信 视频录制的功能, 先是上网找了个 开 ...
- Java内部类学习笔记
20160923 定义:将一个类的定义放在另一个类的内部: 从外部类的非静态方法之外,创建某个内部类的对象:OutClassName.InnerClassName: 内部类拥有所有其外部类的成员的访问 ...
随机推荐
- linux与linux间,互相拷贝文件
直接使用scp命令 和远程Linux主机 进行文件的拷贝 1.可以将远程Linux系统上的文件拷贝到本地计算机 2.也可以将本地计算机上的文件拷贝到远程Linux系统上. 比如:我们要拷贝 ...
- myisamchk是用来做什么的?MyISAM Static和MyISAM Dynamic有什么区别?
myisamchk是用来做什么的? 它用来压缩MyISAM[歌1] 表,这减少了磁盘或内存使用. MyISAM Static和MyISAM Dynamic有什么区别? 在MyISAM Static上的 ...
- MySQL存储引擎入门介绍
什么是MySQL? MySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展.阿里巴巴数据库系统也大量用到了 MySQL,因此它的稳定性是有保障的. ...
- Centos-挂载和卸载分区-mount
mount 挂载和卸载指定的分区 相关选项 -a 加载文件 /etc/fstab中指定的所有设备 -n 不降加载信息记录在 /etc/mtab文件中 -r 只读方式加载设备 -w 可读可写价值设备 ...
- Centos-对比文件差异-diff
diff 比较文件差异 相关选项 -c 显示全部内容,并标记不同之处 -b 忽略行尾空格,并认为字符串中一个或多个空格视为相同 -r 当比较双方都是目录时,会比较子目录中的文件 -s 当两个文件相同 ...
- linux_基础调优
1. 配置授时服务,使用阿里云的授时服务 echo -e "# update time\n*/5 * * * * /usr/sbin/ntpdate time1.aliyun.com &am ...
- VS Code 搭建编写Shell环境(WSL)
安装过程 Win10开启WSL,方法略 安装VSCode,方法略 安装语法提示插件:shellman 安装格式化插件:shell-format(右键 -> 格式化文档(Ctrl + Alt + ...
- 【Rsync实战】Rsync 备份的配置与管理
一.Rsync 基本概述 rsync 是一款开源的备份工具,可以在不同主机之间进行同步,可实现全量备份与增量备份,因此非常适合用于架构集中式备份或异地备份等应用. rsync 官方地址: rsync ...
- Oracle数据库中的大对象(LOB)数据类型介绍
一.LOB数据类型的介绍 大对象(LOB)数据类型允许我们保存和操作非结构化和半结构化数据,如文档.图形图像.视频片段.声音文件和XML文件等.DMBS_LOB 包被设计用于操作 LOB 数据类型.从 ...
- 【linux】基础命令一
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ mount dir[] device[]umount devic[]maste ...