首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第一章:面向对象思想概述
第二章:类和对象
第三章:类的定义
第四章:对象的创建和使用
第五章:关键字 package 和 import
第六章:类的成员之一:属性
第七章:类的成员之二:方法
第八章:可变参数
第九章:方法重载( overload )
第十章:方法的值传递机制
第十一章:递归
第十二章:对象数组
第十三章:OOP特征之一:封装
第十四章:类的成员之三:构造器
第十五章:JavaBean
第十六章:关键字 this
当前位置:
首页>>
技术小册>>
Java语言基础5-面向对象初级
小册名称:Java语言基础5-面向对象初级
7.1 什么是方法(函数)? 方法是类或对象行为特征的抽象,用来完成某个功能操作。在某些语言中也称之为函数或过程。 将功能封装为方法的目的是:可以实现代码重用,简化代码。 Java 里面的方法不能独立存在,所有的方法必须定义在类里面。 示例: ```bash package com.github.demo1; /** * @author maxiaoke.com * @version 1.0 */ public class Person { private int age; /** * 声明方法getAge * * @return */ public int getAge() { return this.age; } /** * 声明方法setAage * * @param age */ public void setAge(int age) { // 将参数age的值赋给类成员变量age this.age = age; } } ``` 7.2 语法格式 - 格式: ```bash 访问修饰符 返回值类型 方法名(参数类型1 参数名1,参数类型2 参数名2,...){ // 方法体程序 return 返回值; } ``` - 解释: - 访问修饰符:private 、缺省 、protected 、public 等。 - 返回值类型: - 没有返回值:void 。 - 有返回值:声明返回值的类型。和方法体中的 return 返回值 ; 搭配使用。 - 方法名:属于标识符,命名时遵循标识符命名规则和规范,尽量做到 见名知意 。 - 形参列表:可以包含零个、一个或多个参数。多个参数时,中间用逗号 , 隔开。 - 返回值:方法在执行完毕后返回给调用它的程序的数据。 7.3 方法的分类 - 按照是否有形参及返回值: ![](/uploads/images/20230724/55a1f237641d9fde015d825b67f50ff3.png) 7.4 方法的调用 - 方法通过方法名被调用,且只有被调用才会执行。 7.5 方法的注意事项 - ① 方法被调用一次,就会执行一次。 - ② 没有具体返回值的情况,返回值类型用关键字 void 表示,那么方法体中可以不使用 return语句; ,如果使用,仅仅用来结束方法。 - ③ 定义方法时,方法的结果应该返回给调用者,交由调用者处理。 - ④ 方法中只能调用方法或属性,不可以在方法内部定义方法 。 7.6 练习 7.6.1 练习1 - 创建一个 Person 类,其定义如下: ![](/uploads/images/20230724/ac2576030f2acc036950332311e5a13a.png) - 要求: - ① 创建 Person 类的对象,设置该对象的 name 、age 和 sex 属性,调用 study 方法,输出字符串 "studying" ,调用 showAge() 方法显示 age 值,调用 addAge() 方法给对象的 age 属性值增加 2 岁。 - ② 创建第二个对象,执行上述操作,体会同一个类的不同对象之间的关系。 - 示例: ```bash package com.github.exec.demo1; /** * @author maxiaoke.com * @version 1.0 */ public class Person { /** * 姓名 */ String name; /** * 年龄 */ int age; /** * 性别 */ int sex; /** * 学习 */ public void study() { System.out.println("studying"); } /** * 显示年龄 */ public void showAge() { System.out.println(this.age); } /** * 添加年龄 * * @param age 年龄 */ public void addAge(int age) { this.age += age; } @Override public String toString() { return "Person{" + "name='" + this.name + '\'' + ", age=" + this.age + ", sex=" + this.sex + '}'; } } ``` ```bash package com.github.exec.demo1; /** * @author maxiaoke.com * @version 1.0 */ public class PersonTest { public static void main(String[] args) { Person p1 = new Person(); p1.name = "maxiaoke.com"; p1.age = 20; p1.sex = 1; p1.study(); p1.addAge(2); p1.showAge(); System.out.println("p1 = " + p1); Person p2 = new Person(); p2.name = "张三"; p2.age = 18; p2.sex = 2; p2.study(); p2.addAge(2); p2.showAge(); System.out.println("p2 = " + p2); } } ``` 7.6.2 练习2 利用面向对象的编程思想,设计类 Circle 计算圆的面积。 示例: ```bash package com.github.exec.demo2; /** * 利用面向对象的编程思想,设计类Circle计算圆的面积 * * @author maxiaoke.com * @version 1.0 */ public class Circle { private int radius; public void setRadius(int radius) { this.radius = radius; } /** * 计算圆的面积 * * @return double */ public double calculateAreaOfCircle() { return Math.PI * Math.pow(this.radius, 2); } } ``` ```bash package com.github.exec.demo2; /** * @author maxiaoke.com * @version 1.0 */ public class CircleTest { public static void main(String[] args) { Circle circle = new Circle(); circle.setRadius(2); double area = circle.calculateAreaOfCircle(); System.out.println("area = " + area); } } ```
上一篇:
第六章:类的成员之一:属性
下一篇:
第八章:可变参数
该分类下的相关小册推荐:
Java面试指南
Java语言基础2-运算符
Java语言基础12-网络编程
Java语言基础11-Java中的泛型
Java语言基础13-类的加载和反射
Java必知必会-Maven高级
Mybatis合辑2-Mybatis映射文件
Mybatis合辑3-Mybatis动态SQL
Java语言基础16-JDK8 新特性
Java并发编程
Java语言基础1-基础知识
SpringBoot零基础到实战