当前位置: 首页 > >

java中数组的定义与类的对象

发布时间:

Java中数组的定义与类与对象

##一、数组的定义
一维数组:
1、声明
类型标识符 数组名[];
类型标识符 []数组名
2、初始化
(1)直接指定初值
(2)用关键字new初始化数组


int a[];
a=new int[9];

3、一维数组的引用
直接对下表进行引用,但是不可以超过数组的长度
二维数组:
1、二位数组的声明,两种方式
类型标识符 数组名[][]
类型标识符 [][]数组名
2、二维数组的初始化
(1)直接指定初值
(2)用关键字new初始化数组


##二、类与对象的(基础)


在这里插入代码片 面向对象程序设计概述
1、程序=对象+对象+…+对象
对象=数据结构+算法
2、面向对象方法的特征
(1)抽象
(2)对象:是一类事物的具体体现。对象是类的一个实例,必然具备该类事物的属性
和行为。
(3)类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该
类事物。
(4)面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。
封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。
(5)继承 :就是子类继承父类的属性和行为,使得子类对象具有与父类相同的属性、相同的行为。子类可以直接访问父类中的非私有的属性和行为。
(6):多态 : 是指同一行为,具有多个不同表现形式


类与对象
类的声明
[标识符] class 类名{
//类的属性
//类的方法
}
1、类头
有public,static ,abstract ,protected这几种修饰符。
(1)public
使用对象:类、接口、成员
介绍:无论它所处在的包定义在哪,该类(接口、成员)都是可访问的
(2)static
使用对象:类、方法、字段、初始化函数
介绍:成名为static的内部类是一个顶级类,它和包含类的成员是不相关的。静态方法 是类方法,是被指向到所属的类而不是类的实例。静态字段是类字段,无论该字段所在的类创建了多少实例,该字段只存在一个实例被指向到所属的类而不是类的实例。初始化函数是在装载类时执行的,而不是在创建实例时执行的。
(3)abstract
使用对象:类、接口、方法
介绍:类中包括没有实现的方法,不能被实例化。如果是一个abstract方法,则方法体 为空,该方法的实现在子类中被定义,并且包含一个abstract方法的类必须是一个abstract类
(4)protected
使用对象:成员
介绍:成员只能在定义它的包中被访问,如果在其他包中被访问,则实现这个方法的类 必须是该成员所属类的子类。


2、成员变量的声明


(1)变量类型
public、protected、private:用于表示成员变量的访问权限。
static:表示该成员变量为类变量,也称为静态变量。
final:表示将该成员变量声明为常量,其值无法更改。
type:表示变量的类型。
variable_name:表示变量名称
(2)变量初始化默认值
整数型(byte、short、int 和 long)的基本类型变量的默认值为 0。
单精度浮点型(float)的基本类型变量的默认值为 0.0f。
双精度浮点型(double)的基本类型变量的默认值为 0.0d。
字符型(char)的基本类型变量的默认值为 “u0000”。
布尔型的基本类型变量的默认值为 false。
数组引用类型的变量的默认值为 null。如果创建了数组变量的实例,但没有显式地为每个元素赋值,则数组中的元素初始化值采用数组数据类型对应的默认值。


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


new对象时,都是用构造方法进行实例化的;
例如;Test test = new Test(“a”);
//Test(“a”);其中这个就是构造函数,“a”为构造方法的形参;


    构造方法的方法名必须与类名一样。 构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
    构造方法不能作用是完成对象的初始化工作,他能够把定义对象时的参数传递给对象的域。 构造方法不能由编程人员调用,而要系统调用。
    构造方法可以重载,以参数的个数,类型,或排序顺序区分

4、this的引用句柄
.this是指向对象本身的引用,
comp = new Componnent(this);将本身的引用传递给Componnent的构造函数,这样comp的myContainer就可以持有一个Containter类型对象的引用了
5、垃圾回收机制
(1)finalize方法


protected void finalize()
{
System.out.println("the object is going")
}

6、基本数据类型的参数传递


public class ParameterTransfer {

public static void main(String[] args) {
int num = 30;
System.out.println("调用add方法前num=" + num);
add(num);
System.out.println("调用add方法后num=" + num);
}

public static void add(int param) {
param = 100;
}

}



友情链接: