2021-05-20 Java之面向对象
Posted Guarding and trust
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-05-20 Java之面向对象相关的知识,希望对你有一定的参考价值。
Java基础11
Java面向对象2 之属性和方法
-
属性
属性也可以叫特征、特点。属性一般是在类里的,我们知道类是抽象的,现在我们再从类里引入属性(特征)。什么是属性,来举几个例子就清楚了。汽车🚙,这是个类——汽车类,应该毫无疑问的,抽象的。那么问题来了,这车是怎么样的?好像我们只是知道有这种东西,这种工具,目前不知道是怎么样的。而这时候有了属性这个概念就诞生了,比如这台车有颜色,红色的,有品牌,法拉利,还有价格等等这些就是属性了,不过有个问题,类是抽象的,也就是属性也是抽象的,因此定义属性的时候也是有共同特性的。 -
啰嗦了那么多,可能还是不懂,我们还是直接定义几个属性,不过在定义之前,先创建一个类:
public class car(){ //创建了一个汽车类 //属性 public String color; //颜色 public String brand; //品牌 public double price; //价格 }
有没有发现这个定义在哪见过,很相似。没错,在一开始学习变量的时候,比如int i; 就是类型+变量名;不过这里加了一个权限public,没错,这就是属性,虽然和定义变量很类似,不过也有本质上的区别的。
- 属性与变量的区别
- 属性一般是在类里面的。
- 属性的前面有权限,比如public(公有的)。
- 属性可以不赋值(有默认值),但使用变量必须赋值,不然无法使用。
-
属性的使用
那么问题又来了,属性定义好了,怎么赋值和使用呢?其实也是很简单的,就和之前给变量赋值很类似,首先我们得实例化一个对象,把属性与对象结合就成了对象的属性。public class Test(){ public static void main(String[] args){ //a.实例化一个对象 car Car car = new Car(); //b.使用对象属性 car.color ="红色"; car.brand ="法拉利"; car.price =100; //c.打印 System.out.println("买了一台价格"+ car.price + "万的" +car.coror + "的"+ car.brand) } }
输出结果是:
买了一台价格100万的红色的法拉利
可见,对象使用属性的语法格式是:对象名.属性名=值。
如果不赋值的话,那么就会使用默认值。另一种赋值也可以在类中赋值,也就是说定义属性的同时赋值,这里赋的值是默认的,也就是实例化任何一个对象都是默认的,不过你也可以使用对象的时候赋值,比如下面的例子:
public int a =10; //定义属性时赋值,可以看作默认值
car.a =20; //把属性给对象car并赋值
- 方法
-
概念:方法是一段代码的包裹体,方法也叫动态、行为、动作,可以说是动词。是在类中的,表示类中的一些动作行为。
-
四种形态的方法
a. 无参无返回值(void)的方法public void 方法名(){ }
b.有参(数)无返回值(void)的方法
public void 方法名(参数类型1 参数值1,参数类型2 参数值2,参数类型3 参数值3.....){
}
c.无参(数)有返回值(return)的方法
public 类型 方法名(){
return 类型值(或对应表达式);
}
d.有参(数)有返回值(return)的方法
public 类型 方法名(参数类型1 参数值1,参数类型2 参数值2,参数类型3 参数值3.....){
return 类型值(对应表达式);
}
以上就是方法的几种基本形态,灵活使用方法,可以省下很多精力和时间,这也是面向对象的一种特点。接下来我们把上面的汽车🚙定义方法,让其真正的动起来。
public class car(){ //创建了一个汽车类
//属性
public String color; //颜色
public String brand; //品牌
public double price; //价格
//方法
public void start(){ //定义一个启动(start)方法 无参无返回值
//注:方法里面是可以使用属性的!
System.out.println(brand + "汽车🚙启动了...");
}
public void drive(String people){ //定义了一个drive方法 有参(类型是String 值是people) 无返回值 System.out.println(brand +"被"+people+"开着");
}
public int buy(int num){ //定义了一个buy方法,有参数(类型int 值num) 有返回值(类型int)
int money = price * num;
return money;//返回买了几台车的价格
}
}
方法就以上这样定义的,值得注意的是,方法里面是可以使用属性的,方法里面也可以使用方法的,比如在drive方法中调用start方法,这样的话,到时使用方法的时候,调用一个就可以了。调用方法的语法格式是:
方法名.(对应的参数)
就是如此,有参数就输入对应的参数就行。
-
方法的调用 知道怎么定义方法了,那么接下来肯定是调用方法了,每一个对象都可以调用自己的方法,语法格式分为有返回值和无返回值两种方式。
无返回值对象名.方法名(对应的参数);
有返回值
对应类型 返回值的变量名 = 对象.方法名(对应的参数);
下面进行调用方法:
public class Test(){
public static void main(String[] args){
//a.实例化一个对象 car
Car car = new Car();
//b.使用对象属性
car.color ="红色";
car.brand ="法拉利";
car.price =100;
//使用(调用)方法
car.start();//调用start()方法
car.drive("小王");//调用drive()方法
int carMoney = car.buy(2); //调用buy()方法
//打印
System.out.println("一共花了"+carMoney+"万元");
}
}
运行结果为:
法拉利汽车🚙启动了...
法拉利被小王开着
一共花了200万元
- 小结: 以上就是对象的属性和方法的基本知识点,特别注意的是属性和方法是在类里面的,总的来说基本知识难度不大,但是灵活运用需要不断练习,从中找到其中的奥秘。学会这两个知识点才刚刚打开面向对象编程的大门,加油吧!
以上是关于2021-05-20 Java之面向对象的主要内容,如果未能解决你的问题,请参考以下文章