类中方法的声明和使用:
-
方法:用来描述类的功能
-
比如:Math类:sqrt()/ random()…
-
Scanner类:nextInt()…
-
Arrays类:sort()/ binarySearch()/ toString()/ equals()…
1.举例:有无返回值,有无形参列表
-
public void eat() {}
-
public void sleep(int time) {}
-
public String getname(){}
-
public String getnation(String nation) {}
注意:方法内可以定义变量;方法内可以调用属性;方法内可以调用其他方法,但是不能定义其他方法。
2.方法声明(结构)
权限修饰符 返回值类型 方法名(形参列表:可以有多个形参){
方法体
}
注意: static/ final/ abstract来修饰的方法,后面再介绍
3.说明:
-
3.1关于权限修饰符:public/ private/ 缺省/ protected
-
默认使用public, 其他的权限修饰符到封装的时候再介绍。
-
3.2返回值:分为有返回值和无返回值
-
如果方法有返回值,则必须在方法声明中指定返回值的类型。
-
并且必须在方法中使用return关键词在返回类型的值或者数据
-
如果方法没有返回值,就在声明中加入void来表示。如果方法中没有返回值,
-
则不需要return。但是如果加入了return,就是表示结束方法的意思
-
3.3我们定义个方法,该不该有返回值呢?什么时候有?什么时候没有呢?
-
主要是看方法内部是否需要计算。比如他给你一个正方形的长,让你求面积,这个时候方法结束的时候就必定有返回值、
-
3.4方法名:这个属于标识符,遵行标识符的命名规则和规范,做到见名知意
-
3.5形参列表:方法名的后面的括号内可以有0个、1个、多个形参
-
遵行格式:数据类型1 形参1,数据类型2 形参2,数据类型3 形参3…
-
该不该定义形参?什么时候定义形参?定义多少个?
-
看题目要求
-
具体情况具体分析
-
3.6方法体:方法内具体功能的实现
-
3.7return关键词的使用:
-
区域:使用在方法内;
-
3.7.1用来结束一个方法;
-
3.7.2给有返回值的方法,返回一个数据(变量或常量),然后结束方法;
-
注意:return后面不能加执行语句。
4.方法的使用:可以调用当前类的属性和方法
-
特殊:方法A可以调用方法A:递归
-
注意:方法中不能再定义其他方法,所有方法都是平级的
package com.myobjectoriented.nonworking;
/**
*
* @Desciption
* @author Abraham
* @email 1290807550@qq.com
* @version JDK1.8
* @date 2021年3月19日下午1:55:52
*/
public class Method01 {
public static void main(String[] args) {
method01 p1=new method01();
}
}
class method01{
//属性:
String name;
int age;
boolean ismale;
public void eat() {
System.out.println("吃酸菜鱼");
}
public void sleep(int time) {
System.out.println("我们每天大概睡"+time+"个小时");
}
public String getname(){
return name;
}
public String getnation(String nation) {
String info="我们属于"+nation;
return nation;
}
}
定义一个类”人“,并且赋予他属性:名字,年龄,性别。赋予他方法:study,showage,增加年龄(输入一个数,把加到年龄里面)
package com.myobjectoriented.nonworking;
/**
*
* @Desciption
* @author Abraham
* @email 1290807550@qq.com
* @version JDK1.8
* @date 2021年3月19日下午10:31:05
*/
public class persons {
String name;
int age;
int sex;
public void study() {
System.out.println("studing");
}
public void showAge() {
System.out.println("年龄为:"+age);
}
public int addage(int i){
age+=i;
return age;
}
}
package com.myobjectoriented.nonworking;
/**
*
* @Desciption
* @author Abraham
* @email 1290807550@qq.com
* @version JDK1.8
* @date 2021年3月19日下午10:30:59
*/
public class personstext {
public static void main(String[] args) {
persons p1=new persons();
p1.age=20;
p1.name="逆流而上的鲶鱼";
p1.study();
p1.showAge();
int newage=p1.addage(20);
System.out.println("新年龄为:"+newage);
p1.showAge();
System.out.println("========================================");
person p2=new person();//同一个main方法里面创建不同类的对象,并且调用该类的方法,此处有掌声
p2.eat();
p2.sleep();
p2.talk("中文");
}
}