关闭

java构造函数以及static关键字

标签: java函数
254人阅读 评论(0) 收藏 举报
分类:

关于java构造器

  1. 原本无显示编码构造器,则有一个默认的隐式(隐藏的无参构造器),但是,当显示指定了构造器,则这个默认隐式的构造器将不存在,比如此时无法new无参的构造器(除非显示地编写声明无参的构造函数)。如下:

     package com.anteoy.coreJava.constructor;
    /**
     * Created by zhoudazhuang
     * Date: 17-1-3
     * Time: 上午10:46
     * Description :
    
     */
    
    public class TestObj {
        public TestObj(){
    
        }
        public TestObj(String o,String oo ,String ooo){
    
        }
    } 
    package com.anteoy.coreJava.constructor;
    
    /**
    
     * Created by zhoudazhuang
    
     * Date: 17-1-3
    
     * Time: 上午10:46
    
     * Description : public TestObj(){}没有无参构造new it则会报错
    
     */
    
    public class NewObj {
    
        public static void main(String[] args) {
    
            TestObj obj = new TestObj();
    
        }
    
    }
  2. 子类构造器若调用父类
    如果子类构造器没有显式地调用父类的构造器,则将自动调用父类的默认(没有参数)的构造器。如果父类没有不带参数的构造器,并且在子类的构造器中又没有显式地调用父类的构造器,则j编译器将报语法错误
 package com.anteoy.coreJava.constructor;
/**
 * Created by zhoudazhuang
 * Date: 17-1-3
 * Time: 上午10:54
 * Description :
 */
public class SonObj extends TestObj{
    public SonObj(){
        super();//调用父类构造器
    }
} 

关于java static关键字

  1. static修饰的变量(类变量,与类在jvm属同一时期加载,早于对象加载,jvm加载时加载一起)存在于jvm静态域中。
  2. static属于类级别,但个人认为可以抽象地看成此static属于这个类(比如调用时可以显式地加上类名前缀),只不过static修饰的变量或常量,方法等和类在使用时,是属于同一级别(等级的)。
  3. 在不同类里面可以定义名称相同的static变量(static final也是可以的)。

    package com.anteoy.coreJava.others;
    /**
    <ul><li>Created by zhoudazhuang</li>
    <li>Date: 16-12-28</li>
    <li>Time: 下午4:38</li>
    <li>Description : Ia,Ib接口有同名变量a,b只有其中一个有
    */
    public class OoTest implements Ia,Ib{
    public void oo(){
    OoTest ooTest = new OoTest();
    // int a = this.a; //编译报错
    int a = Ia.a;//编译通过
    int c = this.b;//编译通过
    }
    }
  4. 关于初始化块和静态初始化块,初始化块{}是构造器的补充,不接受参数,定义一些所有对象共有的属性,方法等,主要可提高可维护性,和初始化块的复用性。主要区别:

    • 初始化顺序 静态初始化块–初始化块–构造方法

    • 静态初始化块只初始化一次,不能初始化普通非static变量

0
0
查看评论

习题(练习类、构造函数和static关键字)

static关键字1,编写一个类,包含一个排序的静态方法Sort(),当传入的是一个整形数组,按照从小到大的顺序输出,如果传入的是一个字符串,就将字符串反序输出。PS:考虑下函数重载package homework; import java.util.Arrays; /** 编写一个类,包含一...
  • Haitao0823
  • Haitao0823
  • 2017-03-08 14:38
  • 389

c++类的静态成员,构造函数

静态成员是处理同一个类的不同对象之间数据和函数共享问题的。 1.静态数据成员 我们所说的“一个类的所有对象具有相同的属性”是指实例属性,以非静态数据成员表示,如Employee中的empNo.id.它们在类的每一个对象中都具有一个复本,是每个对象区别于其他对象的特征。如果某个属性为整个类所共有(如...
  • Shl_1024
  • Shl_1024
  • 2017-03-31 15:17
  • 227

Java中static关键字的作用

Java中static关键字的作用
  • jsqfengbao
  • jsqfengbao
  • 2015-03-29 08:45
  • 17613

Static关键字所有用法详解

以前总是对static的涵义模棱两可,不太敢用,也不知道什么地方改用,static用法非常广泛,静态变量、静态成员、静态函数等,如果用的好,会是程序提升一个等级,并且可以解决很多实际问题,比如单例模式...所以在这里进自己目前的理解做一个总结: 用法1:
  • yanglusheng
  • yanglusheng
  • 2016-07-13 10:22
  • 1254

Java static关键字的详解

想想如果没有static会怎样? 写个例子来看看~ 1:定义Person类    1:姓名、年龄、国籍,说话行为    2:多个构造,重载形式体现 2:中国人的国籍都是确定的      国籍可以进行显示初始化 class Per...
  • qq_33642117
  • qq_33642117
  • 2016-07-14 20:51
  • 359

Java static关键字和构造函数执行顺序

static修饰的有变量 有方法。 **static修饰变量** 当static修饰变量时候,表示这个变量储存在方法区中是一个类变量,static修饰的变量是对象的共性。 比如一个person类 中有一个属性叫country 内容都是中国。那么就可以把这个变量修饰成static 这样就不用等创...
  • m0_38128121
  • m0_38128121
  • 2017-09-28 12:36
  • 83

Java技术——Java中的static关键字解析

0. 前言  static是Java技术网络中的重要的一个点。也是面试的时候经常被问到的点,如果理解不够很容易给面试官语言基础不扎实的印象。本文从static方法、static内部类、static变量、以及static代码块四个角度分别解析static关键字。 1.  ...
  • SEU_Calvin
  • SEU_Calvin
  • 2017-02-21 21:44
  • 1095

Java 关键字—— static 与 final

static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。        被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所...
  • zqixiao_09
  • zqixiao_09
  • 2016-01-24 13:02
  • 2055

Java中static关键字的作用及用法

当声明一个事物是static的时候,这就意味着这个域或者方法不会与他所在的类的任何对象所关联。所以,即使你从来没有创建过类的对象,也可以访问其static域或者调用其static方法。通常你必须调用类的对象才能访问域或者调用方法。 有别于使用new来创建对象,使用static修饰的对象在内存中只会占...
  • ziqi_han
  • ziqi_han
  • 2015-06-07 13:57
  • 621

java static语句块,普通语句块,构造函数

原文链接 static语句块、普通语句块和构造函数       最近忙着投简历找工作,当然得为笔试面试准备一下,把以前学习时欠下的帐补回来。因为当初学Java、Jsp、J2EE课程时都是会用了能做出东西来就行的心态,没有做过笔记,现在很多...
  • madaidao
  • madaidao
  • 2015-07-03 10:12
  • 1021
    个人资料
    • 访问:76904次
    • 积分:1433
    • 等级:
    • 排名:千里之外
    • 原创:64篇
    • 转载:16篇
    • 译文:1篇
    • 评论:13条
    文章分类
    最新评论