面向对象 1-类和对象

面向对象
语法:

Public class 类名{
   数据类型 变量名;
   访问修饰符 返回值类型 方法名(参数列表){
       方法体;
   }
}

1.java是一种纯面向对象语言。只要面向对象的语言都有三大特征:(抽象)封装,继承,多态。

2.面向对象的思想(理解):做一件事件,先找出做这件事的具体事物,然后调用每个具体事件去做事。适用做一些复杂事。
面向过程的思想:把一件事件分成几步去做,一步一步有顺序的去做。适用做一些简单事件。

“老张开车去东北”
面向过程的思想:老张有一辆车-》老张开车-》把车开到东北。
面向对象的思想:老张调一辆车,再找一个司机,然后告诉司机去东北。

3.为什么要用面向对象的思想?因为Java做的大都是一些企业级,大规模的项目,项目比较复杂,所以要用面向对象。

4.对象:用来描述客观事物的一个实体。具体的。
类:具有相同特征的一组对象的集合。抽象的。
对象是类的一个具体的代表,实例;类是对象一个抽象,也是对象类型。
java是以类来组织代码的。

5.类的特征:类是由一级静态特征和动态特征组成。
类静态特征:类的属性。
类动态特征:类的方法。

注:方法:(1)如果在同一个类,方法之间只需要通过方法名()调用;如果在不同的类中,方法调用要通过对象名.方法名()调用;
	(2)当一个方法,需要外部提供数据,才能进行方法体的操作时,就要用有参方法。当一个方法执行完后,你想返回一个数据给调用者时,就可以用有返回值的方法。

6.类的定义的语法:
public class 类名{
数据类型 变量名;(在类中声明属性,个数是多个,也称成员变量)

	访问修饰符 返回值类型 方法名(参数类型 参数名,参数类型 参数名){
		方法体;
	}

}

写类的步骤:
	1.抽象出类,写出类框架。
	2.找出类的静态特征(属性),属性:数据类型 变量名;
	3.找出 类的动态特征(方法).
注:类的属性有很多,不是都要定义,只定义与我们解决问题有关的属性。
	类的方法也有很多,不是都要定义,只定义与我们解决问题有关的方法。

7.对象语法:
//由类生成对象
类名 对象名=new 类名();/new 对象就叫初始化对象。

//对象调用属性
对象名.属性;
对象名.属性=值;

//对象调用方法
对象名.方法();//如果方法有返回值,要声明一个变量来接收

案例:
public class Test1 {
public static void main(String[] args) {
//用女朋友类生成一个对象
GirlFriend wqFriend=new GirlFriend(“aa”);
wqFriend.name=“李太太”;

	wqFriend.setAge(18);
	
	wqFriend.height=1.78;
	wqFriend.weight=180;
	wqFriend.sex='女';
	
	System.out.println("李文琼的女朋友的姓名:"+wqFriend.name);
	System.out.println("李文琼的女朋友的年龄:"+wqFriend.getAge());
	wqFriend.wash();
	wqFriend.cook();
	
	GirlFriend ljFriend=new GirlFriend("小三", '女', 18, 150, 150);
	System.out.println("李金的女朋友的姓名:"+ljFriend.name);
	System.out.println("李金的女朋友的年龄:"+ljFriend.getAge());
}

}

8.变量:
成员变量:一般直接定义在类中。成员变量作用域,在定义的类中。成员变量在不给初值的时候,默认系统会给它初值。数据类型的默认初值:int (0),double(0.0),String(null),boolean(false)

局部变量:一般定义在方法中。作用域在定义它那个大括号中。局部变量在不给初值的时候,系统不会给他值,局部一定要给初值才能使用。
注:在同一个类中,成员变量和局部变量同名时,局部变量的优先级更高。

9.面向对象语言第一个特征:封装。
封装:隐藏内部细节,提供对外的方法,让外界调用。
封装的例子:(1)方法。(2)私有属性,给属性提供公有的写入和读取方法。(确保数据安全性)

10.this:指代当前对象。谁调用含this的代码,this就指代这个对象。
this调用成员变量。语法:this.变量名。
适用场景:当局部变量和成员变量同名,并且两个变量都要用,为了以示区别才用this.

11.构造方法:是一种特殊的方法。
特殊在(1)构造方法没有返回值。
(2)方法名与类名相同。
(3)用来创建对象;给成员属性赋值。创建对象一定要用构造方法。
(4)如果一个类没有直接写构造方法,那么系统会默认给它一个无参空构造方法;如果我们给这个类写了构造方法,系统不会默认给它一个无参空构造方法。
(5)构造方法也可以实现方法重载。
(6)构造方法的执行时间:创建对象,调用构造方法时。

语法:   public 方法名【与当前的类名相同】(参数类型 参数名,参数类型 参数名){
			方法体
   	   }

全选生成全参构造,不选生成无参构造

eclipse 生成快捷键

猜你喜欢

转载自blog.csdn.net/weixin_43905026/article/details/88119462