上周学习到了数组,这周将进行类和对象的学习。
面向对象的概述历史等不再赘述,与c++类似。
一、类
类是封装对象的属性和行为的载体,而在java语言中对象的属性以成员变量的形式存在,对象的方法以成员方法的形式存在。
成员变量与c++类似,成员方法与c++的成员函数类似,其中如果要使java代码中的成员方法无返回值,可以使用void关键字表示。
如果一个方法中含有与成员变量同名的局部变量,则方法中对这个变量的访问以局部变量进行。类的成员变量和成员方法也可以统称为类成员。
权限修饰符包括private、public、protected。与c++类似。
访问包位置 | 类修饰符 | ||
private | public | protected | |
本类 | 可见 | 可见 | 可见 |
同包其他类或子类 | 不可见 | 可见 | 可见 |
其他包的类或子类 | 不可见 | 不可见 | 可见 |
this关键字
public void setName(String name){ //定义一个setName()方法
this.name=name; //将参数值赋予类中的成员变量
}
this关键字用于表示本类当前的对象,当前对象不是某个new出来的实体对象,二十当前正在编辑的类。this关键字只能在本类中使用。与c++类似。
二、类的构造方法
public xxx(){
...... //构造方法体
}
三、静态变量与静态方法
用static关键字创建静态变量和静态方法,可以在本类或者其他类使用。调用方法
类名.静态类成员
需要注意的是
在静态方法中不可以使用this关键字
在静态方法中不可以直接调用非静态方法
局部变量不可以使用static关键字声明
主方法必须用static声明
只有内部类可以使用static关键字声明。
四、对象
在java语言中,通过new操作符来创建对象。每实例化一个对象就会自动调用一次构造方法,实质上这个过程就是创建对象的过程。每个对象都是相互独立的,在内存中占据独立的内存地址,并且每个对象都具有自己的生命周期,当一个对象的生命周期结束时,对象就变成垃圾,由java虚拟机自带的垃圾回收机制处理。
五、小练习
计算矩形面积:尝试编写一个矩形类,将长与宽作为矩形类的属性,在构造方法中将长、宽初始化,定义一个成员方法求此矩形的面积。
import java.util.Scanner;
public class test {
double x,y;
public double area(double x,double y) {
return x*y;
}
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
double x=sc.nextDouble();
double y=sc.nextDouble();
test rectangle =new test();
double area=rectangle.area(x,y);
System.out.println("面积为:"+area);
}
}