面向对象的基本概念
1:面向对象 Java语言是一种面向对象的语言。要使用Java进行面向对象的编程,首先要建立面向对象的思想。面向对象是一种直观且程序结构简单的程序设计方法,它比较符合人类认识现实世界的思维方式。其基本思想就是把问题看成是若干个对象组成,这些对象之间是独立的,但又可以相互配合、连接和协调,从而共同完成整个程序要实现的任务和功能。
面向对象的三大特征:封装、继承和多态。
2:对象 对象是用来描述客观事物的一个实体。用面向对象方法解决问题时,要对现实世界中的对象进行分析和归纳,找出哪些对象与要解决的问题是相关的。
3:类 类是具有相同属性和方法的一组对象的集合。类定义了对象将会拥有的特征和行为。类与对象的关系就如同模具制作出的物品之间的关系。一个类给出它的全部对象的一个统一的定义,而它的每个对象则是符合这种定义的一个实体。因此类和对象的关系就是抽象和具体的关系。类是多个对象进行综合抽象的结果,是实体对象的概念模型,而一个对象是一个类的实例。
定义类:面向对象设计的过程就是抽象的过程,一般分三步来完成。(1)发现类,类定义了对象将会拥有的特征(属性)和行为(方法)。(2)发现类的属性,对象所拥有的静态特征在类中表示时称为类的属性。(3)发现类的方法,对象执行的操作称为类的方法。
1.定义类 格式如下:
[访问修饰词]class类名{
//省略类的内部具体代码
}
2.属性 Java中类的内部主要包括属性和方法。对象所拥有的特征在类中表示时称为类的属性。
定义类的方法如下:[访问修饰词]数据类型 属性名;
3.方法 对象执行操作的行为称为类的方法。定义方法的语法格式如下:
[访问修饰符]返回类型 方法名称(参数类型 参数名1,参数类型 参数名2,·········){
//·······省略方法体代码
}
创建和使用对象
1.创建对象 类是一类事物的集合和抽象,代表这类事物共有的属性和行为。一个对象称为类的一个实例,是类一次实例化的结果。类的对象可以调用类中的成员,如属性和方法等。
创建对象的语法格式如下:类名 对象名=new类名();
2.使用对象 在Java中,要引用对象的属性和方法,需要使用“.”。
使用对象的语法格式如下:
对象名.属性
对象名.方法名()
面向对象的优点有如下几点:(1)与人类的思维习惯一致:面向对象的思维方式是从人类考虑问题的角度出发,把人类解决问题的思维过程转变为程序能够理解的过程。面向对象程序设计使用“类”来模拟现实世界中的抽象概念,用“对象”来模拟现实世界的实体,从而用计算机解决现实问题。(2)信息隐藏,提高了程序的可维护性和安全性:封装实现了模块化和信息隐藏,即将类的属性和行为封装在类中,这保证了对它们的修改不会影响到其它对象,利于维护。同时,封装使得在对象外部不能随意访问对象的属性和方法,避免了外部错误对它的影响,提高安全性。(3)提高程序的可重用性:一个类可以创建多个对象实例,体现了重用性。
对象组:对象数组的数据类型就是具体的类名,对象数组存储的就是这个类的对象,每个数组元素就是一个对象,当根据下标线找到某个元素时,可以按照对象的使用方法来使用该元素。
升级类的功能 成员方法
类成员主要包括两个部分:成员方法和成员变量。
1.带参数的方法
带参数的work()方法可以接受用户输入的内容。创建work()方法时定义的参数叫作形式参数,简称形参。调用方法时传入的参数叫做实际参数,简称实参。
关键代码:
public class person{
public String name;
public String gender;
public int age;
public void work(){
System.out.println(this.name+"的工作理念:干活挣钱有饭吃“”)
}
public void work(String contect){
System.out.println(this.name+"的工作理念:"+contect);
}
}
2.方法重载:是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数类型或参数个数。
方法重载特点:在同一个类中。方法名相同。参数的个数或类型不同。方法的返回值不能作为判断方法之间是否构成重载的依据。
方法重载优点:是对原有方法的一种升级,可以根据参数的不同,采用不同的实现方法,而且不需要编写多个名称,简化了类调用方法的代码。
成员变量
1:成员变量作用域:类中的属性,也就是直接在类中定义的变量称作成员变量,它定义在方法的外部。
2.局部变量作用域:定义在方法中的变量。
3.成员变量和局部变量的区别
作用域不同。局部变量的作用域仅限于定义它的方法,在该方法外无法访问它。成员变量的作用域在整个类内部都是可见的,所以成员方法都可以使用它,如果访问权限允许,还可以在类外部使用成员变量。 初始值不同。对于成员变量,如果在类定义中没有它赋予初始值,Java会给它一个默认值,基本数据类型的值为0,引用类型的值为null。但是Java不会给局部变量赋予初始值,因此局部变量必须要定义并赋值后在使用。 在同一个方法中,不允许有同名的局部变量。在不同的方法中,可以有同名的局部变量。 局部变量可以和成员变量同名,并且在使用时,局部变量具有更高的优先级。
4.数据类型
在Java中,变量的类型分为两种:一种是基本数据类型还有一种是引用数据类型。
java中的引用数据类型包括3种:类、数组和接口。
对于基本数据类型,不同的变量会分配不同的存储空间,并且存储空间中存储的是该变量的值。赋值操作传递的是变量的值,改变一个变量的值不会影响另一个变量的值。
对于引用数据类型,赋值是把原对象的引用传递给另一个引用。对数组而言,当用一个数组名直接给另一个数组名赋值时,相当于传递了一个引用,次时,这两个引用指向同一个数组,也就是指向同一个内存空间。
同理,基本数据类型和引用数据类型在传递参数时,同样会有这样的区别。