Java程序设计第三次课

上传人:油条 文档编号:26869180 上传时间:2018-01-02 格式:PPT 页数:94 大小:2.81MB
返回 下载 相关 举报
Java程序设计第三次课_第1页
第1页 / 共94页
Java程序设计第三次课_第2页
第2页 / 共94页
Java程序设计第三次课_第3页
第3页 / 共94页
Java程序设计第三次课_第4页
第4页 / 共94页
Java程序设计第三次课_第5页
第5页 / 共94页
点击查看更多>>
资源描述

《Java程序设计第三次课》由会员分享,可在线阅读,更多相关《Java程序设计第三次课(94页珍藏版)》请在金锄头文库上搜索。

1、Java程序设计基础,河南中医学院信息技术学院,杨枫(),本次课的主要内容,面向对象、类与对象的定义,封装性、构造方法与匿名对象,String类、String类的常用方法,3,引用传递及其应用、this和static关键字,4,理解main方法,代码块、构造方法私有化,1.,2.,3.,4.,5.,6.,对象数组、内部类,7.,面向对象、类与对象的定义,面向过程与面向对象程序的发展经历了两个主要阶段:面向过程、面向对象对于面向对象与面向过程可以用一个例子解释,如一个木匠要做一个盒子,那么做这个盒子的出发点会有两种方式:面向对象:先想好要做的盒子,之后再去找相应的工具去做。面向过程:不去想要做什

2、么样的盒子,随需取用工具。,面向对象基础,面向对象、类与对象的定义,面向对象的三大特征封装(Encapsulation)对外部不可见继承(Inheritance)扩展类的功能多态(Polymorphism)方法的重载对象的多态性,面向对象基础,面向对象、类与对象的定义,类与对象类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例(instance),面向对象基础,面向对象、类与对象的定义,换种方式解释:类与对象的关系类就相当于是一个模板,依照此模板产生产品,面向对象基础,面向对象、类与对象的定义,类的定义,面向对象基础,class 类名称数据类型 属

3、性 ;. public 返回值的数据类型 方法名称(参数1,参数2) 程序语句 ; return 表达式;,面向对象、类与对象的定义,定义Person类Person类图所示的图形分为三个层次第一层表示类的名称,类的名称与之前一样要求开头首字母大写;第二层表示属性的定义,按照“访问权限 属性名称:属性类型”的格式定义;第三层表示类中方法的定义,按照“访问权限 方法名称():方法返回值”的格式定义,class Person String name;int age;public void tell() System.out.println(姓名: + name + ,年龄: + age);,面向对象

4、、类与对象的定义,对象的创建及使用,面向对象、类与对象的定义,访问类中的属性和方法,面向对象、类与对象的定义,内存划分:对象创建之初,public class ClassDemo02 public static void main(String args)Person per = new Person() ;,面向对象、类与对象的定义,内存操作:为属性赋值,public class ClassDemo03 public static void main(String args)Person per = new Person() ;per.name = 张三 ; / 为属性赋值per.age =

5、 30 ;per.tell() ; / 调用类中的方法,面向对象、类与对象的定义,声明多个对象,public class ClassDemo04 public static void main(String args) Person per1 = null;/ 声明per1对象Person per2 = null;/ 声明per2对象per1 = new Person();/ 实例化per1对象per2 = new Person();/ 实例化per2对象per1.name = 张三;/ 设置per1对象的name属性内容per1.age = 30;/ 设置per1对象的age属性内容per2

6、.name = 李四;/ 设置per2对象的name属性内容per2.age = 33;/ 设置per2对象的age属性内容System.out.print(per1对象中的内容 - ) ;per1.tell();/ per1调用方法System.out.print(per2对象中的内容 - ) ;per2.tell();/ per2调用方法 ,面向对象、类与对象的定义,对象引用传递,public class ClassDemo05 public static void main(String args) Person per1 = null;/ 声明per1对象Person per2 = n

7、ull;/ 声明per2对象per1 = new Person();/ 只实例化per1一个对象per2 = per1 ;/ 把per1的堆内存空间使用权给per2per1.name = 张三;/ 设置per1对象的name属性内容per1.age = 30;/ 设置per1对象的age属性内容/ 设置per2对象的内容,实际上就是设置per1对象的内容per2.age = 33;System.out.print(per1对象中的内容 - ) ;per1.tell();/ 调用类中的方法System.out.print(per2对象中的内容 - ) ;per2.tell(); ,面向对象、类与

8、对象的定义,引用传递内存图,面向对象、类与对象的定义,垃圾产生,public class ClassDemo06 public static void main(String args) Person per1 = null;/ 声明一个per1对象Person per2 = null;/ 声明一个per2对象per1 = new Person();/ 实例化per1对象per2 = new Person() ;/ 实例化per2对象per1.name = 张三;/ 设置per1的name属性内容per1.age = 30;/ 设置per1的age属性内容per2.name = 李四 ;/ 设

9、置per2的name属性内容per2.age = 33 ;/ 设置per2的age属性内容per2 = per1 ;/ 将per1的引用传递给per2System.out.print(per1对象中的内容 - ) ;per1.tell();/ 调用类中的方法System.out.print(per2对象中的内容 - ) ;per2.tell();,面向对象、类与对象的定义,垃圾产生的内存关系,封装性、构造方法与匿名对象,为什么要有封装:保证私有信息不被非法访问,class Person String name;/ 声明姓名属性int age;/ 声明年龄属性public void tell()

10、 / 取得信息的方法System.out.println(姓名: + name + ,年龄: + age);public class EncDemo01 public static void main(String args) Person per = new Person();/ 声明并实例化对象per.name = 张三;/ 为name属性赋值per.age = -30;/ 为age属性赋值per.tell();/ 调用方法,封装性、构造方法与匿名对象,封装的实现,封装性、构造方法与匿名对象,setter及getter,class Person private String name;pr

11、ivate int age;public void tell() System.out.println(姓名: + getName() + ,年龄: + getAge();public String getName() return name;public void setName(String n) name = n;public int getAge() return age;public void setAge(int a) age = a;,封装性、构造方法与匿名对象,加入验证可以在setter方法中对设置的内容进行验证,封装性,public void setAge(int a) /

12、设置年龄if (a = 0 ,封装性、构造方法与匿名对象,构造方法对象的产生格式:类名称 对象名称 = new 类名称()构造方法的定义格式,因为有“()”,所以表示的是一个方法,这实际上就是一个构造方法,class 类名称访问权限 类名称(类型1 参数1,类型2 参数2,)程序语句 ; / 构造方法没有返回值,1、构造方法的名称必须与类名称一致2、构造方法的声明处不能有任何返回值类型的声明3、不能在构造方法中使用return返回一个值,要记住:,封装性、构造方法与匿名对象,声明一个构造方法,class Person public Person()/ 声明构造方法System.out.prin

13、tln(一个新的Person对象产生。) ;public class ConsDemo01 public static void main(String args) System.out.println(声明对象:Person per = null ;) ;Person per = null ;/ 声明对象时不调用构造System.out.println(实例化对象:per = new Person() ;) ;per = new Person();/ 实例化对象时调用构造,封装性、构造方法与匿名对象,默认的构造方法每个类中肯定都会有一个构造方法如果一个类中没有声明一个明确的构造方法则会自动生

14、成一个无参的什么都不做的构造方法,封装性、构造方法与匿名对象,构造方法的目的构造方法的主要目的是为类中的属性初始化。,class Person private String name;/ 声明姓名属性private int age;/ 声明年龄属性public Person(String name,int age)/ 定义构造方法为属性初始化this.setName(name) ;/ 为name属性赋值this.setAge(age) ;/ 为age属性赋值public void tell() / 取得信息的方法System.out.println(姓名: + getName() + ,年龄: + getAge();.public void setAge(int a) / 设置年龄if (a = 0 / 输出信息,封装性、构造方法与匿名对象,构造方法重载构造方法的重载过程与普通方法一样:参数的类型或个数不同匿名对象只使用一次的对象,称为匿名对象。匿名对象只在堆内存中开辟空间,而不存在栈内存的引用。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号