第四天的学习
一、今天学习了面向对象程序设计的特点。
java面向对象有三个特点分别是:封装,继承,多态,今天就重点说一下封装。封装在我看来就是java是面向对象的编程语言
这就需要我们要讲需要编程的对象写出来,而封装就是把对象每一个需要编写出来的特征,用代码的形式表达出来,然后包装好,等待使用。
比如咱们封装一个鸟:
public class Bird{
String wing;
String color;
int age;
}
这个就是面向对象的封装,也是成员方法,其中成员方法定义如下:
权限修饰符 返回值类型 方法名(参数类型 参数名)[throw 异常类型 ] {
// 方法体
return 返回值;
}
含义:权限修饰符主要是public ,private ,protected中的任意一个,也可以不写(目前学习阶段还是都写吧,而且主要使用的是public),主要是用来控制方法的访问权限,返回值类型用来指定返回方法的数据类型,可以是任何类型,如果方法不需要返回值,则使用void关键字;而方法名括号内代表的是参数,可以有参数也可以没有参数,参数可以是对象,也可以是基本数据类型的变量。例如定义一个方法名为showGoods的方法:
public void showGoods(){
System.out.println("库存商品名称:");
System.out.println(fullname);
}
同时,如果需要定义一个有返回值的方法则:
public int showGoods(){
System.out.println("库存商品名称:");
System.out.println(fullname);
return 1;
}
必须在方法中定义一个基本数据类型或者引用数据类型(int char double string),然后在方法体中添加return+数据类型的数据。
2、成员方法的参数
成员方法的参数在方法名的括号内定义,可以该方法传递一个值或者多个值,这叫做实参,而接收实参的变量叫做形参,形参的声明语法与变量的声明语法一样。形参只在方法的内部有效。在java中方法的参数有三种,分别为值参数,引用参数和不定长参数。
a、值参数
值参数表示实参与形参之间数值的传递,当值参数的方法被调用的时候,对应的实参的值被复制到形参上,而且方法中形参的修改不会影响到实参,例如:
package javaSEDay04;
import java.util.Arrays;
public class Text01 {
public static void main(String[] args) {
int box = 40; //实参
int shelf = 30; //实参
System.out.println("箱子和书架上一共有" + Book(box, shelf) + "本书");
}
public static int Book(int box, int shelf) {
box = box + shelf;//形参
return box; //
}
}
这里在方法中改变了形参box的值,但是在main函数中的实参的值并没有方式改变。
b、引用参数
引用参数则与值参数相反,引用参数在方法中对参数进行修改会反映到原有的数组或其他引用类型上,这种类型的方法参数被称之为引用参数。
例如:
package javaSEDay04;
public class Text01 {
public static void main(String[] args) {
Text01 rate = new Text01();
double[] money = { 1, 10, 100 };
System.out.println("有美元:");
for (int i = 0; i < money.length; i++) {
System.out.println(money[i]);
}
rate.change(money);
System.out.println("软妹币:");
for (int j = 0; j < money.length; j++) {
System.out.println(money[j]);
}
}
public void change(double[] i) {
for (int j = 0; j < i.length; j++) {
i[j] = i[j] * 6.78;
}
}
}
将形参的方法引用到了实参中,调用这个方法后,改变了实参中数据。
二、总结
对于成员方法的应用,自己还不是很熟悉,相关的概念也不了解,还处于一个十分模糊的概念,需要后期加强代码的敲写。
PS:好好敲代码,不要玩手机!