java 构造函数 static_Java_修饰符static和构造函数

1.static

静态修饰符修饰的变量不存在于堆中,而是存于方法区,该数据被所有该类对象共享(堆栈方法区功能>>)

static函数中,只能使用静态成员

static特点:

(1).随类的加载而加载,属于类,生命周期最长

(2).优先于对象而存在

(3).被所有的对象共享

(4).直接可以使用类名调用

静态代码块,随着类的加载而加载,进入主存,对类的初始化

2.构造函数

当类中没有定义构造函数时,系统会默认一个空参数的构造函数,如果类是public则默认的构造函数会被public修饰,如果类被default修饰,则默认构造函数也被default修饰

在每个子类的构造函数中,都隐含有一句super()语句,除非指定了该super,否则系统会默认一个空参数的构造函数,

构造代码块,优先于构造函数而存在

this语句,this(name)语句初始化先执行,必须放在构造函数的第一行

/*

构造函数间的调用以及构造代码块,静态代码块

Strawberry2013-5-11

*/

class Person

{

String name;

int age;

{

//构造函数代码块,new时会执行

}

Person(String name)//会接收this(name)传过来的参数信息

{

this.name = name;

}

Person(String name, int age)

{

this(name);//this语句,该语句会进入能够接收name的构造函数,this语句必须放在第一行

this.age = age;

}

static

{

//静态代码块,随类的加载而执行

}

//private Person(){}如果不希望该类被new,即成员是static的

}

class Stu extends Person

{

Stu(String name, int age)

{

super(name);

this.age = age;

}

/*Stu(String name, int age)

{

super();

其中隐含有空参数的super语句,

默认访问父类空参数的构造函数super(),且只能在第一行

当父类没有空参数的构造函数时,必须指定super语句,

直接可以,使用父类功能 super(name, age)

}

*/

}

class Demo

{

public static void main(String[] args)

{

Person p = new Person("zhang", 20);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值