JAVA程序设计ch05.面向对象基础

上传人:宝路 文档编号:47913668 上传时间:2018-07-06 格式:PPT 页数:42 大小:775.82KB
返回 下载 相关 举报
JAVA程序设计ch05.面向对象基础_第1页
第1页 / 共42页
JAVA程序设计ch05.面向对象基础_第2页
第2页 / 共42页
JAVA程序设计ch05.面向对象基础_第3页
第3页 / 共42页
JAVA程序设计ch05.面向对象基础_第4页
第4页 / 共42页
JAVA程序设计ch05.面向对象基础_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《JAVA程序设计ch05.面向对象基础》由会员分享,可在线阅读,更多相关《JAVA程序设计ch05.面向对象基础(42页珍藏版)》请在金锄头文库上搜索。

1、第五章第五章 面向对象基础面向对象基础JavaJava程序设计程序设计luqianghfut.edu. cn http:/cadcg.hfut.e 路路 强强Lu Qiang, 2009 Hefei University of Technology ,School of Computer and Information PagePage 2 2 / 4/ 42 2本章学习提示 本章我们主要学习面向对象编程的基本概念。本章我们主要学习面向对象编程的基本概念。 封装、继承、多态 访问控制符的使用 Static 和 final 的使用hapterhapter5 5 面向对象基础面向对象基础Lu Qi

2、ang, 2009 Hefei University of Technology ,School of Computer and Information PagePage 3 3 / 4/ 42 2目目 录录面向对象概念面向对象概念1访问控制符访问控制符32类和对象类和对象内部类内部类5static 或者 类名 对象变量; 对象变量=new 类名(参数1,参数2,);hapterhapter5 5 面向对象基础面向对象基础Lu Qiang, 2009 Hefei University of Technology , School of Computer and Information Page

3、Page 1717 / 4/ 42 2类的定义 /创建一个新人物 class People private String name, address; public void setInfo(String newname, String newaddress) name = newname; address = newaddress; public String toString() return “+ name + “, “ + address + “; public class ch05_01_People public static void main(String args) Peop

4、le someguy=new People(); someguy. setInfo( “佐助“, “火影村“ ); System.out.println(someguy.toString(); hapterhapter5 5 面向对象基础面向对象基础Lu Qiang, 2009 Hefei University of Technology ,School of Computer and Information PagePage 1818 / 4/ 42 2声明对象时的内存模型 当用People类声明一个对象someguy:People someguy = new People(); 内存模型仅

5、建立了“someguy”对象的引用(reference)尚未真正分配内存空间hapterhapter5 5 面向对象基础面向对象基础Lu Qiang, 2009 Hefei University of Technology ,School of Computer and Information PagePage 1919 / 4/ 42 2对象分配内存后的内存模型 当系统见到someguy. setInfo( “佐助“, “火影村“ ); 做两件事: 为x和y成员变量分配内存,即类的所有成员变量 被分配内存空间,然后执行构造方法中的语句. new运算符在为name和address成员变量分配内

6、存 后,将返回一个引用 给对象 someguy 。 hapterhapter5 5 面向对象基础面向对象基础Lu Qiang, 2009 Hefei University of Technology ,School of Computer and Information PagePage 2020 / 4/ 42 2对象的初始化和构造方法 构造方法是一个类方法中方法名与类名相同的类方法, 它的作用是当使用new关键字创建一个对象时,自动 调用并对新建对象进行初始化操作. 构造方法的特点特点构造方法与类名相同构造方法没有返回值,不定义返回类型构造方法可以重载,针对参数数量和类型定义多个同名构造方

7、法构造方法可以继承,子类可以继承父类的构造方法构造方法不能由编程人员显式地直接调用,它是在对象创建时 由newnew运算符运算符自动调用的构造方法只用来对类实例进行初始化,目的在于简化初始化操作 在Java中,对象的创建和初始化是统一创建和初始化是统一的两者缺一不可hapterhapter5 5 面向对象基础面向对象基础Lu Qiang, 2009 Hefei University of Technology ,School of Computer and Information PagePage 2121 / 4/ 42 2构造方法构造方法的作用 构造方法的作用对象初始化引入更多的灵活度(变

8、量赋值或更复杂的操作)类中可以不定义构造方法 每个类都至少有一个构造方法每个类都至少有一个构造方法,如果程序员没有为类定义构造方法,系统会自动为该类生成一个默认的构造方法。默认构造方法的名字与类名相同,它的参数列表和方法体均为空,自动将所有实例变量初始化为默认值 (数值型为0,布尔型为false,字符型为u0000,对象型为null ). 一旦定义了自己的构造方法,默认构造方法将不再起作用. hapterhapter5 5 面向对象基础面向对象基础Lu Qiang, 2009 Hefei University of Technology , School of Computer and Inf

9、ormation PagePage 2222 / 4/ 42 2Code/如何将没有设计构造器的类添加构造器/ 研究带有构造器的类与没有构造器的类之间的区别 class Student /定义 Student 类 static long sum=0; String name; String address; String grade; static int score; public static long collect() /定义类的方法 sum+=score; return sum; public void public void setInfo(StringsetInfo(String

10、 x1,String x2,String x3) x1,String x2,String x3) name=x1; address=x2; grade=x3; name=x1; address=x2; grade=x3; public void setScore(int y) score=y; public class ch05_04_Student public static void main(String args ) Student zhang=new Student(); /创建Student类的对象 zhang. setInfosetInfo (“张三”, “屯溪路”, “计算机学

11、院“); zhang.setScore(90); zhang.collect(); Student wang=new Student(); /创建Student类的对象 wang. setInfosetInfo (“王五“, “屯溪路“, “计算机学院 “); wang.setScore(85); System.out.println (zhang.name+zhang.address+zhang.grade); System.out.println (wang.name+wang.address+wang.grade); System.out.println ( “总成绩是 “+wang.c

12、ollect( ); 引用getMessage()方法对Student类进行初始化hapterhapter5 5 面向对象基础面向对象基础Lu Qiang, 2009 Hefei University of Technology , School of Computer and Information PagePage 2323 / 4/ 42 2Code/采用构造方法实现上述功能,研究带有构造器的类与没有构造器的类之间的区别 class Student static long sum=0; String name; String address; String grade; static i

13、nt score; public static long collect() /定义类的方法 sum+=score; return sum; Student (String x1, String x2, String x3, int y) name=x1; address=x2; grade=x3; score=y; public class ch05_05_Student public static void main(String args ) Student zhang; zhang=new Student(“张三“,“屯溪路“, “计算机学院“,90); zhang.collect(); Student wang=new Student (“李四“,“屯溪路“, “计算机学院“,85); System.out.println(zhang.name + zhang.address + zhang.grade); System.out.println(wang.name + wang.address + wang

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

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