第9部分 面向对象编程

本章要点:

1、了解类和对象的相关概念

2、掌握声明和创建类和对象的方法

3、掌握对象的比较方法

 

1、理解面向对象程序设计:

1.2、面向对象编程要达到软件工程的三个主要指标:灵活性、重用性、扩展性

->对象->属性、方法、构造方法、代码块

 

类的组成要素:

属性、方法(局部变量、成员变量)、构造方法、代码块(构造代码块、静态代码块)及各种修饰符(defaultpublicprivateprotected3P)、staticfinal(SF))

 

2、面向对象的基本概念:

 

2.1将具有相同属性和相同行为的一组对象称为类;

2.2 对象是类的实例化后的产物;

2.3 类是某一类事物的描述,而对象是实际存在的该类事物的个体;

 

3、类的申明与定义:

 

(1)类的申明:

 

[访问修饰符] class 类名称{

//类的成员变量

//类的成员方法

}

 

访问修饰符:

 

public:公有的,本类、本包内的类,包外的类均可访问;

private:私有的,本类可以访问;

protected:介于publicprivate之间,和继承有关,本类、子类可以访问(子类在其它包中也可以访问)

 

默认模式:本类和本包内可以访问

 

final:不能被继承

 

类名称:只能以字母、数字、下划线和$组成,不能以数字开头,不能使用关键字。一般首字母大写。

 

(2)类的定义:

 

类的成员变量的定义:

访问修饰符 数据类型 属性[=]

类的成员方法的定义:

访问修饰符 返回值的数据类型 方法名称(参数1,参数2,参数3...){

程序语句

}

 

4、类的属性:

 

语法:[访问修饰符] 属性类型 属性名[=默认值]

修饰符:public,private,protected,static,final其中之一,staticfinal可以组合起来使用。

属性类型:任何类型(基本数据类型和引用数据类型)

 

5、对象的申明与使用:

 

(1)对象的申明:

语法:类名 对象名 = new 类名([形参]);

 

(2)对象的使用:

调用属性的语法:对象名.属性名;

调用方法的语法:对象名.方法名([形参]);

 

(3)匿名对象:

指的是没有名字的对象。

使用场合:创建对象只使用了一次。

 

(4)对象的比较:

对于String字符串对象:

==:比较的是内存地址;

equals()方法:比较的是字符串内容。

 

对于其它引用类型:

equals()方法:默认比较的是两个对象的地址,实际比较时必须覆写。

 

(5)对象数组的使用:

 

class Person{

String name;

int age;

void say(){

System.out.println("my name is " + name + "my age is " + age);

}

}

 

public class Ex10_2 {

public static void main(String[] args){

Person[] persons = new Person[3];

persons[0] = new Person();

persons[1] = new Person();

persons[2] = new Person();

for(int i = 0; i<persons.length; i++){

System.out.println(persons[i]);

}

}

}

 

6、高手点拨:

 

(1)栈内存和堆内存的区别:

栈内存:

栈是由编译器自动分配和释放的;

存放基本数据类型的变量、指定代码、常量和对象的引用地址;

优点:存取速度快、数据可以共享;

缺点:存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。

 

堆内存:

堆是一个程序运行动态分配的内存区域;

存放构建对象时所需要的内存;

堆内存在使用完毕后,是由垃圾回收机制进行(隐式)回收;

优点:动态的分配内存大小;

缺点:存取速度慢。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值