Java序谈之构造方法与static关键字

来源:互联网 发布:备案的域名能改吗 编辑:程序博客网 时间:2024/06/06 11:35

构造方法

构造方法有什么用?

构造方法可以对对象的属性进行初始化

构造方法的书写注意要点

1、构造方法名与类名相同

2、没有返回值类型

3、没有return

使用构造函数需要注意什么?

1、当没有定义新的有参数的构造函时,建立对象时系统会调用默认参数构造函数

2、当建立新的有参数构造函数时候,空参数构造函数无法使用

3、建立新的有参数构造函数后,需要写空参数构造函数,防止建立新的对象出错


构造方法的重载和有参数构造方法代码展示

public Person(){name = "zhangsan";age = 18;}public Person(String name,int age) {//给类的成员变量进行赋值this.name  = name;this.age = age;}

static关键字

静态的特点?

1、可以被类名直接调用

2、随着类的加载而加载

3、优先于对象存在

4、被所有对象共享

静态变量的好处?

由于是被所有对象共享,节省空间

静态的应用场景?

比如饮水机,它是被所有人共享的,这就是静态的表现

静态变量和局部变量的区别?

1、调用方式

成员变量:对象调用

静态变量:类名、对象调用

2、生命周期

成员变量:随着对象的建立而建立

静态变量:随着类的加载而出现

3、内存中的位置

成员变量:堆

静态变量:方法区中的静态区

4、所属不同

成员变量:依赖对象存在,叫实例变量

静态变量:依赖类存在,叫类变量

一个类文件的书写格式

1、私有的成员变量

2、构造方法

3、set和get方法

4、成员函数

书写格式代码示范:

class Rect{//私有成员变量private int width;//宽private int height;//高//构造方法public Rect() {}public Rect(int width,int height) {this.width = width;this.height = height;}//set和get方法public void setWidth(int width) {this.width = width;}public int getWidth() {return this.width;}public void setHeight(int height) {this.height = height;}public int getHeight() {return height;}//成员函数public int getGirth() {return (this.height+this.width)*2;}public int getArea() {return (this.height*this.width);}}

画出下列代码在内存中的实现图

代码:

public class Demo04静态变量 {public static void main(String[] args) {//不从内存角度看SuperStar g1 = new SuperStar();g1.name = "成龙";SuperStar.country = "中国";g1.sayhi();SuperStar g2 = new  SuperStar();g2.name = "维兹卡利法";SuperStar.country = "美国";g2.sayhi();}}class SuperStar{String name;static String country;public void sayhi() {System.out.println(name +"--"+country);}}

画图:









原创粉丝点击