1.面向对象的基本概念
java语言是一种面向对象的语言。面向对象是一种直观而且程序结构简单的程序设计方法。基本思想是把问题看成若干个对象组成,这些对象是独立地,但又可以相互配合协调。
2.对象
对象是用来描述具体事物的一个实体。
3.类
类是具有相同属性和方法的一组对象的集合体,类定义了对象将会拥有的方法和属性。
4.类和对象的关系
类是对象的抽象,对象是类的具体化。例如使用模具来刻画出一堆物品一样。再例如车是一种类,而小明的车就是一个具体的对象。
5.定义类
面向对象的设计过程就是抽象的过程,一般分为三部分:发现类,发现类的属性,发现类的方法。
定义类的语法格式如下
[访问修饰符] class 类名{
}
访问修饰符后面再整理。
class是声明类的关键字。
类名首字母要大写。
6.属性
java中类的内部主要包含属性和方法。定义语法如下:
[访问修饰符]数据类型 属性名;
7.方法
对象执行操作的行为称为类的方法。例如人类都会吃喝玩乐都得睡觉,这些行为可以称为方法。
方法定义语法:
[访问修饰符] 返回类型 方法名称(参数类型 参数名){
方法具体代码
}
返回类型为void时表明没有返回值,不必使用return。
如果不是void,那么方法体中一定要使用return关键字返回对应类型的结果。
当方法中需要传递参数时才需要加参数。
8.创建对象
创建对象语法:
类名 对象名 = new 类名();
new 为关键字,左边的类名为对象的数据类型,右边的类名()称为类的构造方法。
构造方法后续再整理。
9.使用对象
要引用对象的方法和属性,需要使用.
语法如:对象名.属性
对象名.方法
10.面向对象的优点
与人类思维习惯一致,信息隐藏,提高程序的可重用性。
后续整理面向对象的三大特征:封装,继承和多态。
11.对象数组
例如
public class Person { public int age; public String name; public Person(int age, String name){ this.age=age; this.name=name; } }
首先定义Person类,定义属性。
public class Test { public static void main(String[] args) { Person[] person = {new Person(22,"韩冰"), new Person(23,"王五")}; for(int i=0;i<=person.length-1;i++){ System.out.println("age属性等于"+person[i].age+","+ "name属性等于"+person[i].name); } } }
然后调用。输出结果如下
age属性等于22,name属性等于韩冰
age属性等于23,name属性等于王五
12.带参数的方法
类成员主要包含两部分:成员方法和成员变量。
参数可以理解为执行方法时的要求。创建方法时的参数叫形式参数,调用方法时的传入参数叫实际参数。
例如
无参数的方法
public void work(){
System.out.println("工作理念:好好工作");
}
有参数的方法
public void work(String contect){
System.out.println("工作理念:"+contect);
}
参数需要在对象调用方法时赋值。
13.方法重载
方法重载是指在一个类中定义多个同名的方法,但要求每个方法有不同的参数类型或参数个数。
方法重载的特点:
在同一个类中
方法名一样
参数的个数或类型不同
方法的返回值不能作为判断方法之间是否构成重载的依据。
方法重载的优点:
方法重载其实是对原方法的一种升级,可以根据参数的不同,采用不同的实现方法,而且不需要重新编写一个方法,简化了代码。
14.成员变量作用域
类中的属性,也就是直接在类中定义的变量称作成员变量。它定义在方法的外部。
15.局部变量作用域
局部变量就是定义在方法中的变量。
16.成员变量和局部变量的区别
作用域不同。局部变量的作用域仅限于定义它的方法中,而成员变量的作用域在整个类内部都是可见的,所有成员方法都可以使用它。
初始值不同,成员变量初始值为0或null,局部变量不会自动赋予初始值,需要赋值。
在同一个方法中,不允许有多个重名的局部变量。在不同的方法中,可有同名的局部变量。
局部变量和成员变量同名,并且使用时,局部变量有更高的优先级。
17.数据类型
java中有两种数据类型,一种是基本数据类型,一种是引用数据类型。
引用数据类型有三种,类,接口,数组。后续具体再整理。
对于基本数据类型,不同的变量会分配不同的空间,并且存储的是值,赋值操作传递的也是值,改变一个不会影响另外一个。
对于引用数据类型,赋值是把原对象的引用(可理解为内存空间)传递给另外一个引用。所以当被传递的改变了,另外一个也改变了。