我是一名刚学java的大二学生,以下都是我在学习中,找到的资料,书本上的知识,以及我自己的理解。写出来,一是为了加强自己的理解,二是分享我在学习java所遇到的问题。如果我的理解有错误,请各位大佬帮我指出来,我一定虚心接受,谢谢大家
1.面向对象的思想
面向对象具有三大特性:
下面红色字体的是每个特性的例子,有助于理解每个特性的含义。
封装:
封装是面向对象的核心思想,它有两层含义,一是指把对象的属性和行为看成是一个密不可分的整体,将这两者“封装”在一起(即封装在对象中);另外一层含义指“信息隐藏”,将不想让外界知道的信息隐藏起来。例如,驾校的学员学开车,只需要知道如何操作汽车,无需知道汽车内部是如何工作的。
继承:
继承性主要描述的是类与类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展。例如,有一个汽车类,该类描述了汽车的普通特性和功能。进一步再产生轿车类,而轿车类中不仅应该包含汽车的特性和功能,还应该增加轿车特有的功能,这时,可以让轿车类继承汽车类,在轿车类中单独添加轿车特性和方法就可以了。继承不仅增强了代码的复用性、提高开发效率,还降低了程序产生错误的可能性,为程序的维护以及扩展提供了便利。
多态:
多态性指的是在一个类中定义的属性和方法被其它类继承后,它们可以具有不同的数据类型或表现出不同的行为,这使得同一个属性和方法在不同的类中具有不同的语义。例如,当听到“Cut” 这个单词时,理发师的行为是剪发,演员的行为表现是停止表演,不同的对象,所表现的行为是不一样的。多态的特性使程序更抽象、便捷,有助于开发人员设计程序时分组协同开发。
2.类与对象
类
含义:
在现实生活中,学生就可以表示为一个类,而一个具体的学生,就可以称为对象。一个具体的学生会有自己的姓名和年龄等信息,这些信息在面向对象的概念中称为属性;学生可以看书和打篮球,而看书和打篮球这些行为在类中就称为方法。
定义:
在面向对象的思想中最核心的就是对象,而创建对象的前提是需要定义一个类,类是Java中一个重要的引用数据类型,也是组成Java程序的基本要素,所有的Java程序都是基于类的。
类的定义格式:
class 类名{
成员变量;
成员方法;
}
举例
以下代码中,Student为类名
name(名字),age(年龄),sex(性别)为成员变量
read()为成员方法
public class Student {
String name; // 定义String类型的变量name
int age; // 定义int类型的变量age
String sex; // 定义String类型的变量sex
// 定义 read () 方法
void read() {
System.out.println("大家好,我是" + name + ",我在看书!");
}
}
注意:局部变量与成员变量的不同
在Java中,定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。如果在某一个方法中定义的局部变量与成员变量同名,这种情况是允许的,此时,在方法中通过变量名访问到的是局部变量,而并非成员变量。
对象的创建与使用
创建
在Java程序中可以使用new关键字创建对象,具体格式如下:
类名 对象名称 = null;
对象名称 = new 类名();
上述格式中,创建对象分为声明对象和实例化对象两步,也可以直接通过下面的方式创建对象,具体格式如下:
类名 对象名称 = new 类名();
使用
创建Student对象后,可以使用对象访问类中的某个属性或方法,对象属性和方法的访问通过“.”运算符实现,具体格式如下:
对象名称.属性名
对象名称.方法名
举例说明
public class Student {
String name;//声明姓名属性
void read(){
System.out.println("大家好,我是"+name);
}
}
public class Example01 {
public static void main(String[] args) {
Student stu1=new Student();//创建第一个Student对象
Student stu2=new Student();//创建第二个Student对象
stu1.name="小明";//为stu1对象的name赋值
stu1.read();//调用对象的方法
stu2.name="小华";
stu2.read();
}
}