首页 > 代码库 > Java面向对象
Java面向对象
Java面向对象
什么是对象
世界万物皆为对象,凡是能看得见摸得着的所以东西都叫对象。对象是由属性和行为组成,属性是对象所具有的特征,而行为是对象可以做的动作。
>例如生活中常见的事物:汽车。汽车的品牌型号、颜色、轴距、车身大小等等都是汽车的属性;汽车向前行驶、倒车、开门等动作都叫汽车的行为。
什么是类
类:具有相同属性和行为一堆对象的集合或者叫抽象。
>同学是一种类,是所有来学校上课同学的统称,集合。
>程序员是一种类,是所有参与程序编写的员工的集合。
类与对象的关系
类是对象的抽象,对象的类的实例。对象的每个属性被表示为类中的一个成员变量,对象的每个行为成为类中的一个方法。
>例如同学是一个类,张三就是同学类的一个实例,是一个对象。张三的姓名、年龄、成绩等都是类的成员变量,而张三说话、行走、做作业等行为就是类的方法。
代码实例:
public class Student { //定义一个名为Student的类
//定义成员变量name、age、javaScore
String name;
int age;
double javaScore;
public void say(){ //定义一个名为say的方法
int age = 10; //定义局部变量
System.out.println("该学生姓名是:"+name+"\n该学生年龄是:"+age+"\n该学生成绩是:"+javaScore);
}
}
上述代码中需要注意以下几点:
1. 类名首字要大写,不能是关键字;
2. static尽量少用,不必要的麻烦;
3. 成员变量又叫全局变量,可以不用赋初始值,为默认值;
4. 局部变量必须赋初始值,另外局部变量只在方法域中起作用。
类的实例化
我们在创建了一个类之后,就需要对类进行实例化,使用类,如下面代码:
public static void main(String[] args) {
Student stu = new Student(); //实例化一个Student类
stu.name = "张三"; //给每一个属性赋值
stu.age = 18;
stu.javaScore = 95;
stu.say(); //调用类的方法
}
上面代码运行后的结果是:
该学生姓名是:张三
该学生年龄是:18
该学生成绩是:95.0
如果是存储一组学生信息,则需要用数组对Student类进行实例化,如下面代码:
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
Student[] stu = new Student[3]; //实例化长度为3的Student类数组,存储3名同学信息
Student student = null;
for (int i = 0; i < stu.length; i++) {
student = new Student();
System.out.println("请输入学生姓名:");
String name = s.next();
System.out.println("请输入学生成绩:");
double score = s.nextDouble();
student.name = name;
student.javaScore = score;
stu[i] = student;
}
for (Student ss : stu){
System.out.println("学生姓名:" + ss.name + " 成绩是:" + ss.javaScore);
}
}
当我们输入“张三、100、李四、90、王二、80”运行结果如下:
学生姓名:张三 成绩是:100.0
学生姓名:李四 成绩是:90.0
学生姓名:王二 成绩是:80.0
栈、堆
##栈与堆的区别
1. 栈空间小,堆空间大;
2. 所有的数据都是放在栈与堆里面的;
3. 栈运行快,对运行慢;
4. 所有的基本类型以及引用变量本身都放在栈中;
5. 引用所指向的对象都放在堆中;
6. 运行方法都放在栈中,其中main方法放在最底层;
7. 入栈的方法都要被执行,并遵行先入后出的原则。
Java面向对象