zoukankan      html  css  js  c++  java
  • [零基础学JAVA]Java SE面向对象部分.面向对象基础(04)

     2.代码块
    1.内部类

    3.链表


    2.代码块:

    1.) 普通代码块。

    2.)静态代码块。

    3.)构造代码块。

    4.)同步代码块。


    class Test{
    //构造块
        {
            System.out.println("Constract Test block");
        }
        static {
            a = 10;
        }
        Test(){
            System.out.println("Constract Test");
        }
        private static int a;

    }


    public class BlockTest{
        public static void main(String args[]){
            //普通块
            {
                int a= 100;
                System.out.println(a);
            }
            new Test();
        }
    }

    2.内部类

    内部类可以使用外部私有成员。

     class Outter{
        private String name = "Hello World";
        class Inner{
            public void print(){
                System.out.println("name="+name);
            }

        };
        public void fun(){
            new Inner().print();
        }
    };

    public class InnerTest{
        public static void main(String args[]){
            new Outter().fun();
            new Outter().new Inner().print();
            Outter out = new Outter();
            Outter.Inner inn = out.new Inner();
            inn.print();
    //定义一个内部类,外部类.内部类 内部类对象 = 外部类实例.new 内部类实例
            Outter.Inner inner = new Outter().new Inner();
            inner.print();

        }
    }


    class Outer{
        private String name = "Hello world";
        public void fun(){
            new Inner(this).print();
        }
        public String getName(){
            return this.name;
        }

    };

    class Inner{
        private Outer outer;

        public Inner(Outer out){
            this.outer = out;
        }
        
        public void print(){
            System.out.println("name ="+this.outer.getName());
        }

    };

    public class EmbeddedTest{
        public static void main(String args[]){
            
            Outer outer = new Outer();
            outer.fun();
        }
    }
     

    2.方法中添加内部类
    class Outer{
    //如果方法中引用内部类,且内部类要使用此函数的参数,那么此函数的参数必须要定义为final
        public void show(final int temp){
            class Inner{
                void print(){
                    System.out.println(temp);
                }
            };
            new Inner().print();
        }

    };

    public class FinalTest{
        public static void main(String args[]){
            Outer outer = new Outer();
            outer.show(20);
        }
    }



  • 相关阅读:
    PHP操作目录(文件夹)的常用函数
    PHP处理时间的常用函数
    PHP操作文件的常用函
    PHP处理数组的常用函数
    PHP处理字符串的常用函数
    什么是 CGI?什么是 FastCGI?php-fpm,FastCGI,Nginx 之间是什么关系?
    一天一个 Linux 命令(18):ln 命令
    IntelliJ IDEA get set 快捷键
    mysql的一些问题记录
    数据库的乐观锁和悲观锁是什么?怎么实现的?
  • 原文地址:https://www.cnblogs.com/zhangsf/p/3333562.html
Copyright © 2011-2022 走看看