码迷,mamicode.com
首页 > 其他好文 > 详细

2019.10.14动手动脚

时间:2019-10-16 18:00:51      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:空间   bsp   代码   关键字   info   put   oid   动手   code   


1、
public
class a1 { 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 a1 
{
    {
        filed=200;
    }
    public int filed=100;
    public a1(int value)
    {
        this.filed=value;
    }
    
    public a1()
    {
        
    }
    
    
    
    public static void main(String[] args)
    {
        a1 obj1=new a1();
        System.out.println(obj1.filed);
        
        obj1=new a1(300);
        System.out.println(obj1.filed);
    }
}

技术图片

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

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

技术图片

 

 

Java字段初始化的规律

 

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

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

class a1
{
    

    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);
}
}

 

2019.10.14动手动脚

标签:空间   bsp   代码   关键字   info   put   oid   动手   code   

原文地址:https://www.cnblogs.com/1234yyf/p/11686822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!