类与对象之成员方法的注意方法的细节

类与对象之成员方法的注意方法的细节

成员方法的定义:
访问修饰符 返回数据类型 方法名(形参列表…) {//方法体
语句;
return 返回值;
}


1. 访问修饰符的细节

(作用是控制 方法使用的范围)如果不写默认访问,[有四种: public, >protected, 默认, private],

2. 返回数据类型的细节:

2.1 方法体最多有一个返回值,可以是数组

先看代码:

public class MethodDetail{
	public static void main(String[] args){

		AA a = new AA();
		//接收返回值需要用数组来接收
		int[] resGet= a.getSum(2,3);
		System.out.println("n1和n2的和"+resGet[0]+" n1和n2的差"+resGet[1]);
	}
}

class AA{
	//1.方法体最多有一个返回值,可以是数组
	public int[] getSum(int n1,int n2){
		int[] res = new int[2];
		res[0] = n1+n2;
		res[1] = n1-n2;
		return res;
	}
}

(1)方法体中最多有一个返回值,可以是数组。正如代码片中,它的方法中需要用 int[],而非 int 或者 void;用int 两个值n1,n2作方法体数组中的各个值的实现
(2)方法体中记得 return 返回值
(3).在主函数接收此函数的返回值时,需要新声明一个数组接收 int resGet
(4)插播一条 AA a = new AA();记得加括号,否则识别不出AA类;此外,括号中的叫方法体,括号外的“标题”叫方法

2.2 返回类型可以为任意类型,包含基本类型或引用类型(数组,对象)

2.3 如果方法要求有返回数据类型,则方法体中最后的执行语句必须为 return 值; 而且要求返回值类型必须和 return 的值类型一致或兼容

所谓兼容,就是低精度可以转高精度;int 低精度转高精度 double

	public double  f1(){
		double c1 = 5.0;
		int d1 = 5;
		return d1;//int -> double

而 double 转 int 是不行的

在这里插入图片描述
2.4 如果方法是 void,则方法体中可以没有 return 语句,或者 只写 return

2.5 方法名遵循驼峰命名法,最好见名知义,表达出该功能的意思即可, 比如 得到两个数的和 getSum, 开发中按照规范

在实际工作中,最好见明知意

3.形参列表的细节

在这里插入图片描述

4.方法调用的细节

在这里插入图片描述
同一个类中的方法调用,可以直接调用

	public class MethodDetail02{
	//编写一个 main方法
	public static void main(String[] args){
		A a = new A();
		a.sayOk();
	}
}

class A{
	//同一个类中的方法调用,可以直接调用
	public void print(int n){
		System.out.println("print 方法被调用 n "+n);
	}

	public void sayOk(){//sayOk 调用 print 直接调用即可
		print(10);
		System.out.println("我是一个好人");
	}
} 

跨类中的方法A调用B方法:需要对象名调用

注意:调用要先声明呦,声明 B b = new B();
而在调用时,是 对象.方法。我经常写成了 类.方法。要多注意。
写类时,class后面没括号 ,正确如: class A{ }

	public class MethodDetail02{
	//编写一个 main方法
	public static void main(String[] args){
		A a = new A();
		a.sayOk();
		a.m1();
	}
}

class A{
	//同一个类中的方法调用,可以直接调用
	public void print(int n){
		System.out.println("print 方法被调用 n "+n);
	}

	public void sayOk(){//sayOk 调用 print 直接调用即可
		print(10);
		System.out.println("我是一个好人");

	}


	//跨类中的方法A调用B方法:需要对象名调用
	public void m1(){
		//创建B对象
		System.out.println("B类方法被调用,hi未执行");
		B b = new B();
		b.hi();
		System.out.println("B类方法被调用,已经执行");
	}
} 
class B{
	public void hi(){
		System.out.println("B类方法 hi被调用");
	}
}



在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值