当前位置: 首页 > news >正文

安阳设计工厂安徽网站排名优化公司

安阳设计工厂,安徽网站排名优化公司,云建站微网站,湖南广源建设工程有限公司网站内部类#xff1a;定义在类结构中的另一个类#xff1a; 类中的定义的成员#xff1a;字段、方法、内部类 为什么使用内部类#xff1f; 增强封装#xff0c;把内部类隐藏在外部类之内#xff0c;不许其他类访问该类。内部类能提高代码的可读性和可维护性#xff0c;…内部类定义在类结构中的另一个类 类中的定义的成员字段、方法、内部类 为什么使用内部类 增强封装把内部类隐藏在外部类之内不许其他类访问该类。内部类能提高代码的可读性和可维护性把小型类嵌入到外部类中结构上代码更靠近。内部类可以直接访问外部类的成员。 package com.test; //双向链表 public class LinkledList {//第一个节点private Node first;//最后一个节点private Node last;//火车的车厢是在火车的内部class Node{private Node prev;//上一个节点private Node next;//下一个节点private Object ele;//当前节点存储的数据} } 外部类的访问修饰符要么public要么缺省。 内部类看做是外部类的一个成员那么内部类可以使用public/缺省\protected\private修饰还可以是static修饰。 内部类分为四种 实例内部类内部类没有使用static修饰静态内部类:内部类使用了static修饰局部内部类在方法中定义的内部类匿名内部类适合于使用一次使用的类属于局部内部类的特殊情况。 对于每个内部类来说java编译器会生成独立的.class文件。成员内部类外部类$内部类名称局部内部类外部类名$数字内部类名称匿名内部类外部类名数字 实例内部类没有static修饰内部类说明内部类属于外部类的对象 特点 创建实例内部类前必须存在外部类对象通过外部类对象创建内部类对象当存在内部类对象时一定存在外部类对象。 package com.test;class Outer{String nameok;class Inner{void print(){System.out.println(name);}} } public class test1{public static void main(String[] args){Outer outnew Outer();out.new Inner().print();;//通过外部类对uter.Inner inout.new Inner();} } 实例内部类的实例自动持有外部类的实例的引用内部类可以直接访问外部类成员。 外部类中不能够直接访问内部类的成员必须通过内部类的实例去访问。 class Outer{ String name外部类; void OuterPrint(){ System.out.println(new Inner().str); } class Inner{ private String str内部类; void print(){ System.out.println(name); } } } “如果实例内部类和外部类存在同名的字段和方法abc在内部类中this.abc:表示 访问内部类成员反之亦然。 静态内部类 使用static修饰的内部类。 特点 静态内部类的实例不会自动持有外部类的特定实例的引用在创建内部类的实例时不必创建外部类的实例。 package com.test;class Outer{static String name外部类;static class Inner{private static final String str内部类;void print(){System.out.println(name);}} } public class test1{public static void main(String[] args){//不必new Outer().new Inner()因此不必创建外部类的实例new Outer.Inner().print();} } 2.静态内部类中可以直接访问外部类的静态成员如果访问外部类的实例成员必须通过外部类的实例去访问。 class Outer{static String str外部类;String s非静态;static class Inner{static void print(){System.out.println(str);}} } 3.在静态内部类中可以定义静态成员和实例成员。 4.测试类可以通过完整的类名直接访问静态内部类的静态方法。 package com.test;class Outer{static class Inner{static void print(){System.out.println(静态内部类);}} } public class test1{public static void main(String[] args){//不必new Outer().new Inner()因此不必创建外部类的实例Outer.Inner.print();} } 局部内部类没啥用 在方法中的定义的内部类其可见范围是当前方法和局部变量是同一个级别。 public class test1{public static void main(String[] args){class Inner{void print(){System.out.println(内部类);}}} } 1.不能使用public、private、protected和static修饰符。 2.局部内部类只能在当前方法中使用。 3.局部内部类和实力内部类一样不能包含静态成员。 4.局部内部类和实力内部类可以访问外部类的所有成员。 5. 局部内部类访问的局部变量必须使用final修饰在java中自动隐式加上final,但是依然是常量不能改变值。 上述代码报错 package com.test;public class test1{public static void main(String[] args){final int num17;class Inner{void print(){System.out.println(num);}}new Inner().print();} } java 中变量存储位置的区别 1.寄存器最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈存放基本类型的变量数据和对象的引用但对象本身不存放在栈中而是存放在堆new 出来的对象或者常量池中字符串常量对象存放在常量池中。 3. 堆存放所有new出来的对象。 4. 静态域存放静态成员static定义的 5. 常量池存放字符串常量和基本类型常量public static final。 6. 非RAM存储硬盘等永久存储空间 如果用final修饰变量就是常量存放在常量池中当方法被销毁后对象仍然可以调用。 匿名内部类是一个没有名称的局部内部类适合只使用依次的类是特殊的局部内部类满足局部内部类特征。
http://www.pierceye.com/news/200888/

相关文章:

  • 可以自己做安卓app的网站Wordpress会员插件出错
  • 做网站优化有前景吗可信网站验证服务中心
  • 韩国设计欣赏网站天津工程建设网官方网站
  • 微网站建设多少钱网站空间管理
  • 济南网站制作定制公司wordpress重新安装主题
  • python 网站开发教程怎么做网站跳转
  • 个人盈利网站怎么建立网站建设 深圳 凡科
  • 网站后台登录地址滨州论坛网站建设
  • 怎么给钓鱼网站做防红wordpress插件合集
  • 骆驼网站建设is_category wordpress
  • 网站中链接怎么做的怎么做资源网站
  • 石家庄建站模板搭建cdr做网站分辨率
  • 学校网站建设有限公司长春网站设计策划书
  • 大连网站建设流程图龙信建设集团网站
  • 徐州好点的做网站的公司深圳做商城网站建设
  • 上海龙象建设集团公司网站网站浮动咨询代码
  • 网站制作培训学校手机网站可以做动态吗
  • 企业推广网站网站开发页面怎么进
  • 嘉兴平湖网站建设网站的底部导航栏怎么做
  • 景安 怎么把网站做别名山东新华电脑学院学网站开发
  • 网站开发好还是app好wordpress 禁用修订
  • win7云主机怎么做网站贵州建设监理网站培训通知栏
  • 制作网站免费建站成都设计公司deanzhang
  • 10个网站用户体验优化的研究结果免费图片设计
  • 做明星网站打广告新闻20条摘抄大全
  • 佛山提供网站设计方案公司wordpress 2.0漏洞
  • wordpress建站教程视频教程百度推广登录首页
  • dede织梦php文章图片网站源码 完整后台 带在线音乐做企业网站进行推广要多少钱
  • 网站正在建设中手机版基于wordpress论文
  • 建设培训网站查询战网