跳到内容
[广告]欧美亚马逊SSN账号、炮灰号开售 ×

Java各种类的区别,全部删除(java中类有哪些)


推荐帖

java中含有许多类,不同的类有不同的用法,这里列举了一些实例。

普通类大家都容易理解,内部类主要起到代码隐藏机制,为了更好的组织代码结构。

内部类测出现给编程带来了很多困扰,在java编程思想中,对为什么出现内部类做了如下解释:

每个内部类都能独立地继承自一个(接口的)实现,所以无论外围类是否已经继承某个(接口)实现,对内部类都没有影响。

内部类是的多重继承的解决方案变得完整,实现了“多重继承”。毕竟一个java类只能继承一个父类。

public class ClassDemo {

    InnerClass innerClass = new InnerClass();
    public void selfIntroduce(){
        System.out.println("hello,我是:"+this.getClass().getName());
    }
    public void useInnerClass(){
        innerClass.selfIntroduce();

        InnerClass innerClass = new InnerClass();
        innerClass.name="wowo";
        innerClass.selfIntroduce();;
    }

    /**
     * 方法中的局部类
     */
    public void useMethodClass(){
        class MethodClass implements HelloInnerClass{

            @Override
            public void selfIntroduction() {
                System.out.println("我在方法里也可以创建哦,我的名字是:"+this.getClass().getName());
            }
        }
        MethodClass methodClass = new MethodClass();
        methodClass.selfIntroduction();
    }

    /**
     * 定义一个接口
     */
    interface HelloInnerClass{
        void selfIntroduction();
    };

    public static void main(String[] args) {
        SecondClass secondClass = new SecondClass();
        secondClass.selfIntroduce();
        //内部类不能new,会报错
        //InnerClass innerClass = new InnerClass();
        ClassDemo classDemo = new ClassDemo();
        classDemo.useInnerClass();
        //静态内部类,就可以在静态方法中直接new
        StaticInnerClass staticInnerClass = new StaticInnerClass();
        staticInnerClass.selfIntroduce();
        ClassDemo.StaticInnerClass staticInnerClass1 = new ClassDemo.StaticInnerClass();
        staticInnerClass1.selfIntroduce();
        StaticInnerClass.selfIntroduce("静态方法自我介绍。");

        //匿名内部类
        HelloInnerClass trump = new HelloInnerClass() {
            @Override
            public void selfIntroduction() {
                System.out.println("wowo,我是一个匿名内部类哦,我的名字叫川建国。");
            }
        };
        trump.selfIntroduction();

        //局部类
        classDemo.useMethodClass();
    }

    /**
     * 普通内部类
     */
    class InnerClass{
        public String name;
        public void selfIntroduce(){
            System.out.println("hello,InnerClass,我的名字是:" + this.getClass().getName()+",name:"+name);
        }
    }

    /**
     * 静态内部类
     */
    static class StaticInnerClass{
        public String name = "StaticInnerClass";
        public void selfIntroduce(){
            System.out.println("hello,StaticInnerClass,我的名字是:" + this.getClass().getName()+",name:"+name);
        }
        public static void selfIntroduce(String wowo){
            System.out.println("hello,StaticInnerClass,我的名字是:"+wowo);
        }
    }

}

/**
 * 同一个类文件中的其他类
 * 使用起来和public类没什么区别
 * 编译完之后是一个单独的class文件,与ClassDemo只差一个public
 */
class SecondClass{

    public void selfIntroduce(){
        System.out.println("hello,我是"+this.getClass().getName());
    }

    public static void main(String[] args) {
        ClassDemo classDemo = new ClassDemo();
        classDemo.selfIntroduce();
    }

}
Java各种类的区别,全部删除(java中类有哪些)

评论链接
在其他网站上分享

创建账户或登录以发表评论

您需要成为会员才能发表评论

创建一个帐户

在我们的社区注册一个新账户。很简单!

注册新账户

登入

已有账户?在此登录

立即登录
  • 告诉你朋友

    喜欢 西塞网络科技?告诉朋友!
×
×
  • 创建新的...

重要信息

我们在您的设备上放置了 cookies,以帮助改善本网站。您可以调整您的 cookie 设置,否则我们会假定您可以继续

版权所有 © 2018-2025 西塞网络科技
粤公网安备44200002444913号