首页 > 作文

Java的内部类总结

更新时间:2023-04-04 11:04:19 阅读: 评论:0

目录
前言一,成员内部类1,成员内部类的特点2,成员内部类的实现3,内部类和外部类的关系二,静态内部类1,静态内部类的特点2,比较成员内部类和静态内部类3,静态内部类的实现三,方法内部类1,方法内部类的特点2,方法内部类的实现四, 匿名内部类1,匿名内部类的特点2,匿名内部类的实现总结

前言

最近看了内部类后,总结一下,首先内部类嵌套在其他内部的类,根据出现的位置和关键字,可以分为以下四种类:成员内部类,静态内部类,方法内部类,匿名内部类,接下来就介绍下学高尔夫这四种类,记得耐心看哦

一,成员内部类

1,成员内部类的特点

(1)private不可以用在外部类的声明,但可在内部类声明,成员变量可以是private

(2)内部类,外部类可以相互访问彼此的私有域

a:内部类访问外部类的私有域可以直接访问,因为成员内部类含有会计是什么职业隐藏对象

b:外部类访问内部类的私有域通过内部类对象访问

(3)内部类可解决java中单继承问题

(4)内部类可以对外部隐藏

2,成员内部类的实现

public class outter {    // 成员变量    private int age = 12;    private string name = "zh";    private static final int a = 20;    //成员内部类    class inner{        private string a = "hello";        private int age = 20;        pub八年级下册物理期末试卷lic void test(){            system.out.println(a);            // 可以访问外部类的私有域age            system.out.println(outter.this.age);            //访问自己的age            system.out.println(this.age);            system.out.println(a);        }    }    // 外部类成员方法    public void fun() {        int a = 0;        // 外部类内部创建内部类对象        inner inner = new inner();        system.out.println(inner.a);    }}class test {    public static void main(string[] args) {    //外部类的外部创建内部类对象        outter.inner inner = new outter().new inner();    }}public class outter {    // 成员变量    private int age = 12;    private string name = "zh";    private static final int a = 20;    //成员内部类    class inner{        private string a = "hello";        private int age = 20;        public void test(){            system.out.println(a);            // 可以访问外部类的私有域age            system.out.println(outter.this.age);            //访问自己的age            system.out.println(this.age);            system.out.println(a);        }    }    // 外部类成员方法    public void fun() {        int a = 0;        // 外部类内部创建内部类对象        inner inner = new inner();        system.out.println(inner.a);    }}class test {    public static void main(string[] args) {    //外部类的外部创建内部类对象        outter.inner inner = new outter().new inner();    }}

3,内部类和外部类的关系

a:科学发展观的科学内涵成员内部类的创建需要依赖于外部类对象

b:内部类和外部类之间相互独立

c:两者的私有属性可以相互访问

d:语法

(1)外部类的内部创建内部类对象

inner inner = new inner();

(2)外秋天的词语部类的外部创建内部类对象

outter.intter intter = new outter().new intter();

e:在内部类的内使用隐藏的this

二,静态内部类

1,静态内部类的特点

(1)定义在外部类的内部使用static修饰,静态内部类无需外部类无需外部类产生对象就可以使用

(2)静态内部类的创建语法

  staticinnerclass.inner inner = new staticinnerclass.inner();

2,比较成员内部类和静态内部类

(1)成员内部类不能拥有静态域,但可以访问外部的静态域

(2)静态内部类可以拥有成员域,但不能访问外部的成员域

3,静态内部类的实现

public class staticinnerclass {    static int age;    string name;    //静态内部类--类比--静态变量    static class inner{        private int age;        public void test(){            system.out.println(age);//            system.out.println(name);不能访问外部成员域        }    }    public void fun() {        inner inner = new inner();    }}class test1 {    public static void main(string[] args) {        staticinnerclass.inner inner = new staticinnerclass.inner();    }}

三,方法内部类

1,方法内部类的特点

(1)方法内部类定义在方法内部

(2)对外部完全隐藏,因此不能有任何访问修饰

(3)若要方法的形参只能用,不能改(形参的隐式final声明)

2,方法内部类的实现

//方法内部类public class funclass {    private int age;    public void fun(int age) {        class inner {            void fun() {//                system.out.println(age);            }        }        age = 10;    }}

四, 匿名内部类

1,匿名内部类的特点

(1)匿名内部类定义在方法内部,类没有名字

(2)必须继承一个抽象类或者实现一个接口

(3)没有构造方法

2,匿名内部类的实现

//实现接口interface imessage {    void fun();}public class nonnameclass {    public static void main(string[] args) {        //匿名内部类        thread thread = new thread(new runnable() {            @override            public void run() {                system.out.println("hello a");            }        });        thread thread1 = new thread({                system.out.println("hello ");        } );        thread.start();        thread1.start();    }}//实现接口interface imessage {    void fun();}public class nonnameclass {    public static void main(string[] args) {        //匿名内部类        thread thread = new thread(new runnable() {            @override            public void run() {                system.out.println("hello a");            }        });        thread thread1 = new thread({                system.out.println("hello ");        } );        thread.start();        thread1.start();    }}

总结

朋友们,看到最后是不是对内部类有了新的认识?

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注www.887551.com的更多内容!

本文发布于:2023-04-04 11:04:18,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/fdfb23dbb444b6949b631375558c5521.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:Java的内部类总结.doc

本文 PDF 下载地址:Java的内部类总结.pdf

标签:部类   成员   静态   方法
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图