zoukankan      html  css  js  c++  java
  • 10.14动手动脑

    
    

    以下代码为何无法通过编译?哪儿出错了?

    public class test 
    {
        public static void main(String[] args)
        {
            Foo obj1=new Foo();
        }
    }
    class Foo
    {
        int value;
        public Foo(int initValue)
        {
            value=initValue;
        }
    }

    这串代码,类Foo已经定义了构造函数,构造函数中有参数,当开辟新空间的时候需要进行初始化;

    没有构造函数的时候,系统会自动出没有参数的构造函数;

    2、public int field=100;在类初始化后面时

    public class test 
    {
        {
            filed=200;
        }
        public int filed=100;
        public test(int value)
        {
            this.filed=value;
        }
        
        public test()
        {
            
        }
        
        
        
        public static void main(String[] args)
        {
            a1 obj1=new test();
            System.out.println(obj1.filed);
            
            obj1=new test(300);
            System.out.println(obj1.filed);
        }
    }

     public int field=100;在类初始化前面时

    public class test 
    {
        public int filed=100;
        {
            filed=200;
        }
        
        public test(int value)
        {
            this.filed=value;
        }
        
        public test()
        {
            
        }
        
        
        
        public static void main(String[] args)
        {
           test obj1=new test();
            System.out.println(obj1.filed);
            
            obj1=new test(300);
            System.out.println(obj1.filed);
        }
    }

    Java字段初始化的规律 

        执行类成员定义时指定的默认值或类的初始化块(类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行。),到底执行哪一个要看哪一个“排在前面”。执行类的构造函数。

    3、静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)

    class test
    {
        
    
        public static void main(String[] args)
        {
            Myclass m=new Myclass();
            m.output();
        }
        
    }
    class Myclass
    {
    int i=100;   
    static public void output()
    {
    Myclass a=new Myclass();   
    System.out.println(a.i);
    }
    }
  • 相关阅读:
    白话插件框架原理
    C# 可扩展编程MEF学习
    C#依赖注入实例
    迷你版AOP框架
    AOP 面向切面编程
    C++ 面向对象
    c++ 的异常处理
    C++ 模板 template
    c 二维数组动态分配和释放
    C++ 指针二维数组, C++二维指针数组笔记
  • 原文地址:https://www.cnblogs.com/xjmm/p/11715912.html
Copyright © 2011-2022 走看看