1.面向对象的程序设计有三个主要特征,如下:
(1) 封装性
(2) 继承性
(3)多态性
2.
对象的产生
类名 对象名 = new 类名() ;
例:Person p = new Person() ; // 声明 Person 对象 p
对象只有在实例化之后才能被使用,而实例化对象的关键字就是 new。
3.访问对象中某个变量或方法
访问属性:对象名称.属性名
访问方法:对象名称.方法名()
例:p.name ; // 访问 Person 类中的 name 属性
p.talk() ; // 调用 Person 类中的 talk()方法
4.封装类中的属性或方法
封装属性:private 属性类型 属性名
封装方法:private 方法返回类型 方法名称(参数)
5.构造方法的定义方式】
class 类名称
{
访问权限 类名称(类型 1 参数 1,类型 2 参数 2,…)
{
程序语句 ;
… // 构造方法没有返回值
}
}
在使用构造方法的时候请注意以下几点:
(1) 它具有与类名相同的名称
(2) 它没有返回值
6.例:在 java 程序中只要明确的声明了构造方法,则默认的构
造方法将不会被自动生成。而要解决这一问题,只需要简单的修改一下 Person 类就可以了,可以在 Person 类中明确地声明一无参的且什么都不做的构造方法。
Person(){}
Person(String n,int a){name = n;age = a;}
7. “== ”是比较内存地址值的, “equals ”是比较内容的。
8.如果在程序中想用某一构造方法调用另一构造方法,可以用 this 来实现,具体的
调用形式如下:
this() ;
this()调用构造方法必须放在首行.
9.在使用static类型声明的方法时需要注意的是: 如果在类中声明了一static
类型的属性,则此属性既可以在非 static 类型的方法中使用,也可以在 static
类型的方法中使用。但用 static 类型的属性调用非 static 类型的属性时,则会出现错误。
10.main()方法理解:由于 Java 虚拟机需要调用类的 main()方法, 所以该方法的访问权限必须是 public,又因为 Java 虚拟机在执行 main()方法时不必创建对象,所以该方法必须是 static 的,该方法接收一个 String 类型的数组参数, 该数组中保存执行 Java 命令时传递给所运行的类的参数。
11.静态代码块只执行了一次,而且静态代码块优先于静态方法,由此可以发现,静态代码块可以为静态属性初始化。
12.对象用 final 标记,表示不能再重新实例化;在方法中定义的内部类只能访问方法中的 final 类型的局部变量.
13.对象也可以用数组来存放,通过下面两个步骤来实现:
(1)声明类类型的数组变量,并用 new 分配内存空间给数组。
(2)用 new 产生新的对象,并分配内存空间给它
例如,要创建三个 Person 类类型的数组元素,可用下列的语法:
Person p[] ; // 声明 Person 类类型的数组变量
p = new Person[3] ; // 用 用 new 分配内存空间
创建好数组元素之后,便可把数组元素指向由 Person 类所产生的对象:
p[0] = new Person () ;
p[1] = new Person () ; 用 new 产生新的对象,并分配内存空间给它
p[2] = new Person () ;
此时,p[0]、p[1]、p[2]是属于 Person 类类型的变量,它们分别指向新建对象的内存参考地址。当然也可以写成如下形式:
Person p[] = new Person[3]; // 创建对象数组元素,并分配内存空间
当然,也可以利用 for 循环来完成对象数组内的初始化操作,此方式属于动态初
始化:
for(int i=0;i<p.length;i++)
{
p[i] = new Person() ;
}
或者采用静态方式初始化对象数组:
Person p[] = {new Person(),new Person(),new Person()} ;
14.
1、 “类”是把事物的数据与相关的功能封装在一起,形成的一种特殊结构,用以表
达对真实世界的一种抽象概念。
2、 Java 把数据成员称为 field(属性) ,把方法成员称为 method(方法) 。
3、 由类所创建的对象称为 instance,译为“实例” 。
4、 创建属于某类的对象,可通过下面两个步骤来达成: (1) 、声明指向“由类所创
建的对象”的变量。 (2) 、利用 new 创建新的对象,并指派给步骤一中所创建的
变量。
5、 要访问到对象里的某个属性(field)时,可通过“对象名称.属性”语法来实现,
如果要调用封装在类里的方法,则可通过“对象名称.method”语法来实现。
6、 有些方法不必传递任何数据给调用端程序,因此是没有返回值的。若方法本身没
有返回值,则必须在方法定义语句前面加上关键字 void。
7、 私有成员(private member)可限定类中的属性,被限制成私有的属性仅能供同一
类内的方法所访问。
8、 类外部可访问到类内部的公有成员(public member) 。
9、 “封装” (encapsulation) :是把属性和方法包装在一个类内以限定成员的访问,
以起到保护数据的作用。
10、构造方法可视为一种特殊的方法,它的主要作用是为所创建的对象赋初值。
11、构造方法的名称必须与其所属的类的类名称相同,且不能有返回值。
12、从某一构造方法内调用另一构造方法,是通过 this() 这个关键字来完成的。
13、构造方法有 public 与 private 之分。声明为 public 的构造方法可以在程序的任何地
方被调用,所以新创建的对象都可以自动调用它。而被声明为 private 的则无法在
该构造方法所在的类以外的其它地方被调用。
14、如果构造方法省略不写,Java 则会自动调用默认的构造方法(默认的构造方法没
有任何参数) 。
15、 “基本类型的变量”是指用 int、double 等关键字所声明的变量,而由类声明而得
的变量,称之为“类类型的变量” ,它是属于“非基本类型的变量”的一种。
16、对象也可以用数组来存放,但必须有下面两个步骤: (1) 、声明类类型的数组变
量,并用 new 分配内存空间给数组。 (2) 、用 new 产生新的对象,并分配内存空间给它。
17、 如果在类 Outer 的内部再定义一个类 Inner, 此时类 Inner 称为内部类 (inner class) ,
而类 Outer 则称为外部类(outer class) 。
(1) 封装性
(2) 继承性
(3)多态性
2.
对象的产生
类名 对象名 = new 类名() ;
例:Person p = new Person() ; // 声明 Person 对象 p
对象只有在实例化之后才能被使用,而实例化对象的关键字就是 new。
3.访问对象中某个变量或方法
访问属性:对象名称.属性名
访问方法:对象名称.方法名()
例:p.name ; // 访问 Person 类中的 name 属性
p.talk() ; // 调用 Person 类中的 talk()方法
4.封装类中的属性或方法
封装属性:private 属性类型 属性名
封装方法:private 方法返回类型 方法名称(参数)
5.构造方法的定义方式】
class 类名称
{
访问权限 类名称(类型 1 参数 1,类型 2 参数 2,…)
{
程序语句 ;
… // 构造方法没有返回值
}
}
在使用构造方法的时候请注意以下几点:
(1) 它具有与类名相同的名称
(2) 它没有返回值
6.例:在 java 程序中只要明确的声明了构造方法,则默认的构
造方法将不会被自动生成。而要解决这一问题,只需要简单的修改一下 Person 类就可以了,可以在 Person 类中明确地声明一无参的且什么都不做的构造方法。
Person(){}
Person(String n,int a){name = n;age = a;}
7. “== ”是比较内存地址值的, “equals ”是比较内容的。
8.如果在程序中想用某一构造方法调用另一构造方法,可以用 this 来实现,具体的
调用形式如下:
this() ;
this()调用构造方法必须放在首行.
9.在使用static类型声明的方法时需要注意的是: 如果在类中声明了一static
类型的属性,则此属性既可以在非 static 类型的方法中使用,也可以在 static
类型的方法中使用。但用 static 类型的属性调用非 static 类型的属性时,则会出现错误。
10.main()方法理解:由于 Java 虚拟机需要调用类的 main()方法, 所以该方法的访问权限必须是 public,又因为 Java 虚拟机在执行 main()方法时不必创建对象,所以该方法必须是 static 的,该方法接收一个 String 类型的数组参数, 该数组中保存执行 Java 命令时传递给所运行的类的参数。
11.静态代码块只执行了一次,而且静态代码块优先于静态方法,由此可以发现,静态代码块可以为静态属性初始化。
12.对象用 final 标记,表示不能再重新实例化;在方法中定义的内部类只能访问方法中的 final 类型的局部变量.
13.对象也可以用数组来存放,通过下面两个步骤来实现:
(1)声明类类型的数组变量,并用 new 分配内存空间给数组。
(2)用 new 产生新的对象,并分配内存空间给它
例如,要创建三个 Person 类类型的数组元素,可用下列的语法:
Person p[] ; // 声明 Person 类类型的数组变量
p = new Person[3] ; // 用 用 new 分配内存空间
创建好数组元素之后,便可把数组元素指向由 Person 类所产生的对象:
p[0] = new Person () ;
p[1] = new Person () ; 用 new 产生新的对象,并分配内存空间给它
p[2] = new Person () ;
此时,p[0]、p[1]、p[2]是属于 Person 类类型的变量,它们分别指向新建对象的内存参考地址。当然也可以写成如下形式:
Person p[] = new Person[3]; // 创建对象数组元素,并分配内存空间
当然,也可以利用 for 循环来完成对象数组内的初始化操作,此方式属于动态初
始化:
for(int i=0;i<p.length;i++)
{
p[i] = new Person() ;
}
或者采用静态方式初始化对象数组:
Person p[] = {new Person(),new Person(),new Person()} ;
14.
1、 “类”是把事物的数据与相关的功能封装在一起,形成的一种特殊结构,用以表
达对真实世界的一种抽象概念。
2、 Java 把数据成员称为 field(属性) ,把方法成员称为 method(方法) 。
3、 由类所创建的对象称为 instance,译为“实例” 。
4、 创建属于某类的对象,可通过下面两个步骤来达成: (1) 、声明指向“由类所创
建的对象”的变量。 (2) 、利用 new 创建新的对象,并指派给步骤一中所创建的
变量。
5、 要访问到对象里的某个属性(field)时,可通过“对象名称.属性”语法来实现,
如果要调用封装在类里的方法,则可通过“对象名称.method”语法来实现。
6、 有些方法不必传递任何数据给调用端程序,因此是没有返回值的。若方法本身没
有返回值,则必须在方法定义语句前面加上关键字 void。
7、 私有成员(private member)可限定类中的属性,被限制成私有的属性仅能供同一
类内的方法所访问。
8、 类外部可访问到类内部的公有成员(public member) 。
9、 “封装” (encapsulation) :是把属性和方法包装在一个类内以限定成员的访问,
以起到保护数据的作用。
10、构造方法可视为一种特殊的方法,它的主要作用是为所创建的对象赋初值。
11、构造方法的名称必须与其所属的类的类名称相同,且不能有返回值。
12、从某一构造方法内调用另一构造方法,是通过 this() 这个关键字来完成的。
13、构造方法有 public 与 private 之分。声明为 public 的构造方法可以在程序的任何地
方被调用,所以新创建的对象都可以自动调用它。而被声明为 private 的则无法在
该构造方法所在的类以外的其它地方被调用。
14、如果构造方法省略不写,Java 则会自动调用默认的构造方法(默认的构造方法没
有任何参数) 。
15、 “基本类型的变量”是指用 int、double 等关键字所声明的变量,而由类声明而得
的变量,称之为“类类型的变量” ,它是属于“非基本类型的变量”的一种。
16、对象也可以用数组来存放,但必须有下面两个步骤: (1) 、声明类类型的数组变
量,并用 new 分配内存空间给数组。 (2) 、用 new 产生新的对象,并分配内存空间给它。
17、 如果在类 Outer 的内部再定义一个类 Inner, 此时类 Inner 称为内部类 (inner class) ,
而类 Outer 则称为外部类(outer class) 。