四、对象的行为

1、形参(Parameter)和实参(argument)
定义方法会运用形参,调用方法的一方会运用实参
实参:对象.方法(实例变量的具体值)

d.bark(3);//实参
void bark(int size){
}//size为形参

一个例子

//普通类
class ExerciseNormalClass1 {
	 int arg;
	 int go(int arg){
		arg=arg*2;
		return arg;
		 
	 }

}

//测试类
public class ExerciseTestClass1 {
	public static void main(String[]args){
		int orig=42;
		ExerciseNormalClass1 X=new ExerciseNormalClass1();
		int y=X.go(orig);
		System.out.println(orig+" "+y);
		
	}

}

在这里插入图片描述

2、返回值
方法中可以有返回值,定义的返回值的数值类型一定要能够符合方法的类型
方法必须声明返回变量,使用void类型代表方法不返回任何东西即为return;

int method(){
return 42;//42与int
}//一个参数的时候

如果方法中有多个参数需要传入,一定要以正确的数量、类型和顺序来传递参数,并且用逗号“,”分开

void method(int x,int y){
int z=x+y;
System.out.println(z);
}
//新建一个对象t
t.method(12,34);//12代表x,34代表y,当然也可以例外定义整数型变量m,n并将其分别赋予12,34,那么也可以写成t.method(m,n)

运用参数与返回类型

int numOfPickups;
int getnumOfPickups(){
return numOfPickups;
}/返回实例变量的值
void setnumOfPickups(int num){
numOfPickups=num;//在普通类中进行该操作,可以在测试类中被调用用来赋值
}

3、封装
封装的基本原则:将实例变量标记为私有的,并提供共有的getter与setter来控制存取动作
封装的方法,将实例变量标记为private,将getter和setter标记为public
*封装的原理(仅个人理解):封装是将普通类中定义的实例变量定义为private,然后定义两个方法,一个是get,get类型符合实例变量的类型,需要返回值,二是set,set方法类型可随意,在这里需要定义形参,并在语句块中将形参赋予给实例变量,接下来再定义真正的方法,注意这个方法的变量仍然是最开始封装起来的实例变量;进入到测试类,先进行定义对象之类的常规操作,然后利用调用set方法进行赋值,这里就是实参,在这一部分get方法就几乎是没啥用的,最后调用真正地方法
*

封装的例子

//普通类
 class PracticeNormalClass1 {
	 private int size;//将实例变量标记为私密的
	 public int getNumber(){
		 return size;
	 }
	 public void setNumber(int s){
		 size=s;
		 
	 }
	 void bark(){
		 if(size>60){
			 System.out.println("Wooof!Wooof!");
		 }else if(size>14){
			 System.out.println("Ruff!Ruff!");
		 }
		 else{
			 System.out.println("Yip!Yip!");
		 }
	 }

}

//测试类
 class PracticeTestClass1 {
	 public static void main(String[]args){
		 PracticeNormalClass1 one=new PracticeNormalClass1();
		 one.setNumber(70);
		 PracticeNormalClass1 two=new PracticeNormalClass1();
		 two.setNumber(3);
		 System.out.println("Dog one:"+one.getNumber());
		 System.out.println("Dog two:"+two.getNumber());//这里的值并不会影响最后结果,基本等同于无意义
		 one.bark();
		 two.bark();
	 }
	 

}

4、数组中的对象行为

Dog pets=new Dog[2];
pets=new Dog();
pets[0]=new Dog();
pets[1]=new Dog();
pets[0].setSize(23);//赋值
int x=pets[0].getSize();

5、声明与初始化实例
我认为,就是在普通类中定义实例变量之时,直接赋予一个初始值
如果不进行初始赋值,则会有如下结果:

int0
float0.0
booleanfalse
Stringnull
String name="puppy";

5、实例变量与局部变量之间的差别
实例变量的声明在类中,不在方法中
局部变量的声明在方法中,并且局部变量在使用之前必须初始化,如果没有默认值会显示错误
**
6、变量的比较

  • 用“==”来比较两个primitive主数据类型或判断两个引用是否引用同一个对象
int a=3;
byte b=4;
if(a==b){
//true}
Dog one=new Dog();//定义一个名为one的对象
Dog two=new Dog();//定义一个名为two的对象
Dog three =one;//定义一个等同于a的对象
if(one==three){
//true
}
if(one==two){
//false
}
  • 使用equals()来判断两个对象是否在意义上相等,例如两个String类型的数据
String a="nihao";
String b="nihao";
if(a.equals(b)){
//true}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值