首页 /  技术专区  /  Java 宽屏模式 >

对象和封装

1.  构造方法

构造方法是创建对象时调用的方法。

在创建对象的时候,对象成员可以由构造函数方法进行初始化。

1.         构造方法语法:

访问修饰符   构造方法名 ( ) {

       //初始化代码

}

特点:与类同名,没有返回值。

2.         系统提供默认无参构造方法:

public Penguin() {

 

}

2.  构造方法重载

1.         方法重载

(1)      方法名相同。

(2)      参数数据类型或参数个数不同。

(3)      与返回值、访问修饰符无关。

2.         自定义构造方法

如果自定义构造方法,系统不再提供默认无参构造方法。

public Penguin (String name,int health,int love,String sex ) {

        this.name = name;

        this.health = health;

        this.love = love;

        this.sex = sex;

}

3.         构造方法重载的调用

pgn = new Penguin();

pgn.print();

pgn = new Penguin("美美", 80, 20, "Q");

pgn.print();

3.  static关键字

static的主要目的就是创建独立于具体对象的域变量与方法,或者静态代码块。

static修饰的属性和方法可以通过类名直接访问,静态代码块当java虚拟机加载类时,就会执行该代码块。

1.         使用static定义变量

static final String SEX_MALE="Q";

static final String SEX_FEMALE="Q";

2.         使用static定义方法

static void print() { }

4.  static变量与实例变量

类的成员变量包括:

类变量(静态变脸):

    被static修饰的变量

    在内存中只有一个拷贝

    类内部,可在任何方法内直接访问静态变量

    在其他类中,可以直接通过类名访问

实例变量:

    没有被static修饰的变量

    每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响

5.  static方法

静态方法:可以直接通过类名访问。

    静态方法中不能使用this和super。

    不能直接访问所属的实例变量和实例方法。

    可直接访问类的静态变量和静态方法。

实例方法:通过实例访问

    可直接访问所属类的静态变量、静态方法、实例变量和实例方法。

静态方法必须被实现

6.  static静态代码块

JVM加载类时,加载静态代码块。

如果有多个静态块,按照顺序加载。

每个静态代码块只会被执行一次。

7.  封装

面向对象三大特征之一:封装

1.         封装的概念

将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

2.         封装的好处

(1)      隐藏类的实现细节

(2)      只能通过规定方法访问数据

(3)      方便加入控制语句

(4)      方便修改实现

3.         封装的步骤

(1)      修改属性的可见性,设置为private

(2)      创建公有的getter/setter方法,用于属性的读写。

(3)      getter/setter方法中加入属性控制语句,对属性值的合法性进行判断。

8.  this关键字

this关键字的用法

(1)      调用属性

this.health = 100;

this.name = "大黄";

(2)      调用方法

this.print();

(3)      调用构造方法

this();

this("小黑",100,100,"");

9.  包

1.         允许类组成较小的单元(类似文件夹),易于找到和使用相应的文件。

2.         防止命名冲突。

3.         更好的保护类、属性和方法。

如何创建包:

package cn.jbit.classandobject;

10.  包命名规范

1.         包名由小写字母组成,不能以圆点开头或结尾。

package mypackage;

2.         包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名。

如:

package cn.bdqn.mypackage;

3.         包名后续部分依不同机构内部的规范不同而不同。

package cn.bdqn.javagroup.powerproject;

11.  使用包的注意事项

1.         一个类同时引用了两个来自不同包的同名类,必须通过完整的类名来区分。

2.         每个包都是独立的,顶层包不会包含子包的类。

3.         package和import的顺序是固定的。

package必须位于第一行(忽略注释行)

只允许有一个package语句

其次是import

接着是类的声明


下一篇: 继承

头像
0/200
图片验证码