Java面向对象设计类的方法.ppt

上传人:小飞机 文档编号:6510327 上传时间:2023-11-07 格式:PPT 页数:29 大小:285KB
返回 下载 相关 举报
Java面向对象设计类的方法.ppt_第1页
第1页 / 共29页
Java面向对象设计类的方法.ppt_第2页
第2页 / 共29页
Java面向对象设计类的方法.ppt_第3页
第3页 / 共29页
Java面向对象设计类的方法.ppt_第4页
第4页 / 共29页
Java面向对象设计类的方法.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《Java面向对象设计类的方法.ppt》由会员分享,可在线阅读,更多相关《Java面向对象设计类的方法.ppt(29页珍藏版)》请在三一办公上搜索。

1、类的方法,类的方法,写出狮子对象的“跑”方法写出狮子对象的“叫”方法,电动玩具狮子属性:颜色:黄色行为:跑叫,按此按钮,狮子开始跑,类的方法示例,public class AutoLion String color=黄色;public void run()(正在以0.1米/秒的速度向前奔跑);public String bark()String sound=吼;return sound;,AutoLion类代码实现,方法名称,方法体,返回类型,如何定义类的方法,类的方法定义类的某种行为(或功能),方法的名称,方法的主体,方法返回的数据类型,定义类的方法,public 返回值类型 方法名()/这

2、里编写方法的主体,步骤一:定义方法名以及返回值,步骤二:编写方法体,方法的命名,如何给方法起名字?必须以字母、_或开头可以包括数字,但不能以它开头遵循的命名规范通常方法名是一个动词,如果有两个以上单词组成,第一个单词的首字母小写,其后单词首字母大写,方法的返回值,两种情况如果方法具有返回值,方法中必须使用关键字return返回该值,返回类型为该返回值的类型如果方法没有返回值,返回类型为void,public class Student String name=张三;public void getName()return name;,返回类型要匹配,编译错误,常见错误2-1,public cla

3、ss HelloWorld public static void main(String args)return“Hello World!;,返回类型是void方法中不能有返回值,常见错误2-2,public class Student public double getInfo()double weight=95.5;double height=1.69;return weight,height;,方法至多可以返回一个值,不能返回多个值,方法调用,方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果方法调用:执行方法中包含的语句,对象名.方法名();,小明过生日,爸爸送他一个电动狮子玩

4、具,编程测试这个狮子能否正常工作,方法调用,public class AutoLion String color=黄色;public void run()/方法1:跑(正在以0.1米/秒的速度向前奔跑。);public String bark()/方法2:叫 String sound=吼;return sound;public String getColor()/方法3:获得颜色属性 return color;public String showLion()/方法4:描述狮子特性 return 这是一个+getColor()+的玩具狮子!;,public class TestLion publ

5、ic static void main(String args)AutoLion lion=new AutoLion();System.out.println(lion.showLion();lion.run();System.out.println(lion.bark();,在类的方法中调用该类另一个方法,在main()方法中调用类的方法,变量作用域3-1,public class AutoLion String color=黄色;public void run()/方法1:跑(正在以0.1米/秒的速度向前奔跑。);public String bark()/方法2:叫 String soun

6、d=吼;return sound;public String getColor()/方法3:获得颜色属性 return color;public String showLion()/方法4:输出类的描述信息 return 这是一个+getColor()+的玩具狮子!叫声是+sound;,可以调用吗?,方法调用小结,方法之间允许相互调用,不需要知道方法的具体实现,提高了效率,方法的参数传递,参数传递实参的数目必须和形式参数个数相等实参的数据类型和形式参数的类型相容Java的参数传递是值传递,引用数据类型传递的是对象地址练习void passByRef(StringBuffer buf)buf.a

7、ppend(Hello);,方法的返回值,返回值方法在执行完毕后返还给调用它的环境的数据。如无返回值,在Java中也必须给出返回值数据类型为voidreturn 语句return 用于终止方法的运行并指定要返回的数据在方法体内可包含0个或任意多个return语句return语句中表达式的类型必须能自动转换为方法的返回值类型,构造方法,构造方法是一个特殊的方法。在Java中,对象是被构造出来的。Java 中的每个类都有构造方法,用来初始化该类的一个对象。构造方法具有和类名相同的名称,而且不返回任何数据类型重载经常用于构造方法构造方法只能由new运算符调用,class Pointint x,y;P

8、oint()x=0;y=0;Point(int x,int y)this.x=x;this.y=y;,为什么需要构造方法 2-1,开发Java教员类JavaTeacher,要求:具有属性:姓名、年龄、学历、职位具有行为:自我介绍,public class JavaTeacher private String name;/姓名private int age;/年龄private String education;/学历private String position;/职位public String introduction()return 大家好!我是+name+,我今年”+age+岁,学历“+

9、education+,目前职位是+position;public String getName()return name;public void setName(String myName)name=myName;/以下是其他属性的setter、getter方法,此处省略,为什么需要构造方法 2-2,编写一个测试类,要求:实例化一个教员对象,并对其初始化在控制台输出该教员的自我介绍,public class JavaTeacherTest public static void main(String args)JavaTeacher teacher=new JavaTeacher();teac

10、her.setName(李芳);teacher.setAge(23);teacher.setEducation(本科);System.out.println(teacher.introduction();,要简化对象初始化的代码,可以通过构造方法来解决,大家好!我是李芳,我今年23岁,学历本科,JavaTeacher中有太多的属性及对应的setter方法,在初始化时,很容易就忘记了,有没有可能简化对象初始化的代码?,什么是构造方法,构造方法负责对象成员的初始化工作为实例变量赋予合适的初始值构造方法必须满足以下语法规则:1、方法名与类名相同2、没有返回类型,public class JavaTe

11、acher private String name;/教员姓名/构造方法public JavaTeacher()name=无名氏;,public class JavaTeacherTest public static void main(String args)JavaTeacher teacher=new JavaTeacher();,使用new关键字调用构造方法,通过带参数的构造方法,显式地为实例变量赋予初始值,public class JavaTeacher private String name;/教员姓名private int age;/年龄private String educat

12、ion;/学历private String position;/职位/带参数的构造方法public JavaTeacher(String pName,int pAge,String pEducation,String pPosition)name=pName;age=pAge;education=pEducation;position=pPosition;public String introduction()return 大家好!我是+name+,我今年+age+岁,学历+education+,目前职位是+position;,带参数的构造方法,通过调用带参数的构造方法,简化对象初始化的代码,

13、public class JavaTeacherTest public static void main(String args)JavaTeacher teacher=new JavaTeacher(李芳,23,本科,咨询师);System.out.println(teacher.introduction();,创建对象时,一并完成了对象成员的初始化工作,大家好!我是李芳,我今年23岁,学历本科,目前职位是咨询师,构造函数规则,构造函数能够使用任何访问控制符,包括private构造函数名称必须与类名匹配构造函数一定不能有返回类型普通方法名可以和类名相同如果在类代码中不键入构造函数,编译器将自

14、动生成默认构造函数默认构造函数总是无参的构造函数,构造函数规则,如果在类代码中键入了带变元的构造函数,则就不会存在无变元构造函数,除非重新键入无变元的构造函数每个构造函数都必须把this(),super()作为第一条语句super()的调用可以是无变元的,也可以是有变元的抽象类具有构造函数接口没有构造函数调用构造函数的唯一方法是从另一个构造函数内部进行调用,生活中的方法重载,类,方法,方法参数,方法实现,司机,轿车,巴士,火车,驾驶,启动、行驶、,等待乘客上车、启动、行驶、到站停车、,正点发车、行驶、到站停车、,如果用代码实现,我们需要三个方法,这些方法的方法名称相同,参数类型不同,方法重载类

15、的println方法能够打印数据并换行,根据数据类型的不同,有多种实现方式,public class Test public static void main(String args)int i=0;char c=z;String str=hello;System.out.println(i);System.out.println(c);System.out.println(str);,PrintStream,println(int)println(char)println(String),方法名相同,参数类型不同,调用不同的println方法,方法重载,类的max()方法能够从两个数字中取出

16、最大值,它有多种实现方式运行时,Java虚拟机先判断给定参数的类型,然后决定到底执行哪个max()方法,public class Test public static void main(String args)Math.max(1,2);Math.max(1.0F,2.F);Math.max(1.0,2);,方法重载,构造方法重载 2-1,构造方法重载是方法重载的典型示例,public class JavaTeacher private String name;/教员姓名private String school=北京中心;/所在中心public JavaTeacher(String nam

17、e)this.name=name;/设定教员姓名public JavaTeacher(String name,String school)this.name=name;/设定教员姓名this.school=school;/设定教员的所在中心public String introduction()return 大家好!我是+school+的+name;,构造方法重载,构造方法重载 2-2,通过调用不同的构造方法来表达对象的多种初始化行为默认情况下,教师来自北京中心,初始化时,只需提供教员姓名有时,需要提供所在中心名称及教员姓名,public class JavaTeacherTest publi

18、c static void main(String args)JavaTeacher teacher1=new JavaTeacher(李芳);System.out.println(teacher1.introduction();JavaTeacher teacher2=new JavaTeacher(张欣,天津中心);System.out.println(teacher2.introduction();,大家好!我是北京中心的李芳大家好!我是天津中心的张欣,给定如下Java代码,请指出代码中的错误,并解释原因。,public class Sample private int x;public

19、 Sample()x=1;public Sample(int i)x=i;public int Sample(int i)x=i;return x+;private Sample(int i,String s)public Sample(String s,int i)private Sampla(int i)x=i+;private void Sampla(int i)x=i+;,小结,无参构造方法,带参构造方法,不是构造方法,带参构造方法,带参构造方法,名称与类名不相同,不是构造方法,定义类的方法的步骤是什么?类中的一个方法如何调用类的另一个方法?类中的一个方法如何调用另一个类的方法?分别说明成员变量和局部变量的作用域。,总结,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号