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

重庆网站建设子沃科技给个免费网站好人有好报

重庆网站建设子沃科技,给个免费网站好人有好报,百度平台推广该怎么做,优良的定制网站建设提供商前言 本篇会详细讲解内部类的四种形式,让你掌握内部类~ 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 前言 内部类介绍 实例内部类 定义 调用 静态内部类 定义 调用 匿名内部类 定义和调用1 调用方法2 …

前言

本篇会详细讲解内部类的四种形式,让你掌握内部类~

欢迎关注个人主页:逸狼


创造不易,可以点点赞吗~

如有错误,欢迎指出~



目录

前言

 内部类介绍

实例内部类

定义

调用

静态内部类

定义

调用

匿名内部类

定义和调用1

调用方法2

局部内部类

定义和调用


 内部类介绍

在 Java 中,可以将一个类定义在另一个类或者一个方法的内部, 前者称为内部类,后者称为外部类。(B类定义在A类的内部,称B类为内部类,A类为外部类)内部类也是封装的一种体现。

内部类分为三种

实例内部类、静态内部类、匿名内部类、局部内部类

实例内部类

定义

实例内部类定义在外部类的里面,方法的外面

class OuterClass{public int data1=1;public int data2=2;public static int data3=3;class InnerClass{public int data4=4;public int data5=5;public static int data6=6;//内部类的成员方法public void test(){System.out.println("InnerClass::test()");}}public void testA(){System.out.println("OuterClass::testA()");}
}

调用

实例内部类的实例化  

外部类.内部类  内部类引用=外部类引用.new内部类对象

实例内部类可以理解为是外部类的一个成员,要通过外部类的引用来调用

    public static void main(String[] args) {OuterClass outerClass=new OuterClass();//实例化外部类OuterClass.InnerClass innerClass=outerClass.new InnerClass();//实例化内部类innerClass.test();//调用内部类中的成员方法}

 实例内部类的方法可以调用自己的成员变量及外部类的成员变量

        //内部类的成员方法public void test(){System.out.println("InnerClass::test()");System.out.println(data4);System.out.println(data5);System.out.println(data6);System.out.println("###########");System.out.println(data1);System.out.println(data2);System.out.println(data3);}

 调用test方法 结果如图

 当内部类和外部类有相同的成员变量时,首先会访问内部类中的成员

此时,若就想访问外部类的成员变量,可以使用 外部类.this.成员变量 即可访问

 

静态内部类

定义

静态内部类定义在 外部类的里面,方法的外面,并且用static修饰

生成内部类引用不需要外部类引用的调用

class OuterClass{public int data1=1;public int data2=2;public static int data3=3;//静态内部类,外部类的里面,方法的外面,并且用static修饰static class InnerClass{public int data4=4;public int data5=5;public static int data6=6;//内部类的成员方法public void test(){System.out.println("InnerClass::test()");}}public void testA(){System.out.println("OuterClass::testA()");}

调用

静态内部类的实例化  

        OuterClass.InnerClass innerClass=new OuterClass.InnerClass();innerClass.test();

 调用外部类的成员变量,通过直接在静态内部类的成员方法中 实例化一个外部类对象,通过对象直接调用外部类的成员变量

//静态内部类的成员方法public void test(){System.out.println("InnerClass::test()");OuterClass outerClass=new OuterClass();System.out.println(data4);System.out.println(data5);System.out.println(data6);System.out.println("###########");System.out.println(outerClass.data1);System.out.println(data3);}

 结果

内部类和外部类共用同一个java源文件,但是经过编译之后,内部类会形成单独的字节码文件

匿名内部类

定义和调用1

相当于一个类实现了这个接口,同时重写了test方法

//接口
interface ITestable{void test();
}public class Test4 {public static void main(String[] args) {
//匿名内部类new ITestable(){@Override//重写了接口的方法public void test() {System.out.println("test(");}}.test();//调用test方法  直接在后面.test方法}
}

调用方法2

通过引用对象it调用test方法

        ITestable it =new ITestable() {@Overridepublic void test() {System.out.println("test()");}};it.test();

 

局部内部类

定义和调用

定义在外部类的方法中的类

class OuterClass{public int  data1=1;public void testA(){//局部内部类 定义在方法里面  只能在当前方法中使用class InnerClass {public int data1=100;public static int data2=2;public void test(){System.out.println("InnerClass::test");}}
//局部内部类 只能在当前方法testA中使用InnerClass innerClass=new InnerClass();innerClass.test();}  
}

注意:

  • 局部内部类只能在所定义的方法体内部使用
  • 不能被public、static等修饰符修饰
  • 编译器也有自己独立的字节码文件,命名格式:外部类名字$数字内部类名字.class
  • 几乎不会使用
http://www.yayakq.cn/news/890095/

相关文章:

  • 艺术公司网站定制中心做头像的网站有哪些
  • 做网站合同seo查询工具网站
  • 江宁招网站建设58永泰县住房和城乡建设局网站
  • wordpress优秀移动站点东莞网上推广怎么做
  • 徐州网站关键词推广备案号
  • 电子商务建立网站前期准备海南网站建设fwlit
  • 网站备案号怎么查询美食网站建设需求
  • 班级网站建设开题报告新冠止咳药物有哪几种
  • 贵阳做网站哪家好域名注册技巧
  • 广东快速做网站公司哪家好辽宁省品牌建设的建议
  • 南通建网站wordpress手机版跳转到页面
  • 河南信合建设投资集团有限公司网站辽宁省建设厅证书查询网站
  • 做网站报价单南通网站制作公司
  • 技术支持东莞网站建设网站开发工程师职业定位
  • 素材网站 模板岳阳网站设计u
  • 网站建设维护实训总结北京建设工程交易网站官网
  • xshell如何做网站开发cms网站系统
  • 百元做网站建网是什么
  • 网站网页建设华大基因 建设网站
  • 绝唯cms网站管理系统广州网络营销岗位数量
  • 东西湖注册公司站长工具seo综合查询广告
  • seo网站关键词快速排名网站建设哪家合适
  • 手机全部网站企业推广是什么职业
  • 如何选择一个优质网站建设公司福田网站建设龙岗网站建设龙岗网站建设
  • 开发asp网站需要用到什么服务器律师网站 扁平化
  • 广州市公司网站建设企业解决方案是什么
  • 学做网站要多久网站建设外包注意什么
  • 咸阳做网站开发公司哪家好wordpress 移动主题
  • 企业网站文章增城商城网站建设
  • 张家港那家做网站特色专业建设验收网站