java面向对象设计类的方法

上传人:shaoy****1971 文档编号:115519580 上传时间:2019-11-13 格式:PPT 页数:29 大小:529.05KB
返回 下载 相关 举报
java面向对象设计类的方法_第1页
第1页 / 共29页
java面向对象设计类的方法_第2页
第2页 / 共29页
java面向对象设计类的方法_第3页
第3页 / 共29页
java面向对象设计类的方法_第4页
第4页 / 共29页
java面向对象设计类的方法_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《java面向对象设计类的方法》由会员分享,可在线阅读,更多相关《java面向对象设计类的方法(29页珍藏版)》请在金锄头文库上搜索。

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

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

3、d getName() return name; ,返回类型要匹配,编译错误,常见错误2-1,public class 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:跑 System.out.println(“正在以0.1米/秒的速度向前奔跑。“); public String bark() /方法2:叫 String sound = “吼“ ; return sound; public String getColor() /方法3:获得颜

5、色属性 return color; public String showLion() /方法4:描述狮子特性 return “这是一个“ + getColor() + “的玩具狮子!“ ; ,public class TestLion public static void main(String args) AutoLion lion = new AutoLion(); System.out.println(lion.showLion(); lion.run(); System.out.println(lion.bark(); ,在类的方法中调用 该类另一个方法,在main()方法中 调用类的

6、方法,变量作用域3-1,public class AutoLion String color = “黄色“; public void run() /方法1:跑 System.out.println(“正在以0.1米/秒的速度向前奔跑。“); public String bark() /方法2:叫 String sound = “吼“ ; return sound; public String getColor() /方法3:获得颜色属性 return color ; public String showLion() /方法4:输出类的描述信息 return “这是一个“ + getColor(

7、) + “的玩具狮子!叫声是“ + sound ; ,可以调用吗?,方法调用小结,方法之间允许相互调用,不需要知道方法的具体实现,提高了效率,方法的参数传递,参数传递 实参的数目必须和形式参数个数相等 实参的数据类型和形式参数的类型相容 Java的参数传递是值传递,引用数据类型传递的是对象地址 练习 void passByRef(StringBuffer buf) buf.append(“Hello“); ,方法的返回值,返回值 方法在执行完毕后返还给调用它的环境的数据。如无返回值,在Java中也必须给出返回值数据类型为void return 语句 return 用于终止方法的运行并指定要返回

8、的数据 在方法体内可包含0个或任意多个return语句 return语句中表达式的类型必须能自动转换为方法的返回值类型,构造方法,构造方法是一个特殊的方法。 在Java中,对象是被构造出来的。Java 中的每个类都有构造方法,用来初始化该类的一个对象。 构造方法具有和类名相同的名称,而且不返回任何数据类型 重载经常用于构造方法 构造方法只能由new运算符调用,class Point int x, y; Point() x=0; y=0; Point(int x, int y) this.x=x; this.y=y; ,为什么需要构造方法 2-1,开发Java教员类JavaTeacher,要求:

9、 具有属性:姓名、年龄、学历、职位 具有行为:自我介绍,public class JavaTeacher private String name; / 姓名 private int age; / 年龄 private String education; / 学历 private String position; / 职位 public String introduction() return “大家好!我是“ + name + “,我今年” + age + “岁,学历“ +education+“,目前职位是“+position; public String getName() return n

10、ame; public void setName(String myName) name = myName; / 以下是其他属性的setter、getter方法,此处省略 ,为什么需要构造方法 2-2,编写一个测试类,要求: 实例化一个教员对象,并对其初始化 在控制台输出该教员的自我介绍,public class JavaTeacherTest public static void main(String args) JavaTeacher teacher = new JavaTeacher(); teacher.setName(“李芳“); teacher.setAge(23); teach

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

12、姓名 / 构造方法 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 education; / 学历

13、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

14、; ,带参数的构造方法,通过调用带参数的构造方法,简化对象初始化的代码,public class JavaTeacherTest public static void main(String args) JavaTeacher teacher = new JavaTeacher(“李芳“, 23, “本科“, “咨询师“); System.out.println(teacher.introduction(); ,创建对象时,一并完成了对象成员的初始化工作,大家好!我是李芳,我今年23岁,学历本科,目前职位是咨询师,构造函数规则,构造函数能够使用任何访问控制符,包括private 构造函数名称必

15、须与类名匹配 构造函数一定不能有返回类型 普通方法名可以和类名相同 如果在类代码中不键入构造函数,编译器将自动生成默认构造函数 默认构造函数总是无参的构造函数,构造函数规则,如果在类代码中键入了带变元的构造函数,则就不会存在无变元构造函数,除非重新键入无变元的构造函数 每个构造函数都必须把this(), super()作为第一条语句 super()的调用可以是无变元的,也可以是有变元的 抽象类具有构造函数 接口没有构造函数 调用构造函数的唯一方法是从另一个构造函数内部进行调用,生活中的方法重载,类,方法,方法参数,方法实现,司机,轿车,巴士,火车,驾驶,启动、行驶、,等待乘客上车、启动、 行驶、到站停车、,正点发车、行驶、 到站停车、,如果用代码实现,我们需要三个方法,这些方法的方法名称相同,参数类型不同,方法重载 java.io.PrintStream类的println方法能够打印数据并换行,根据数据类型的不同,有多种实现方式,public class Test public static void main(String args) int i = 0; char c = z; St

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

最新文档


当前位置:首页 > 中学教育 > 职业教育

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