1.三条主线:
1.1java类及类的成员; (属性、方法、构造器;代码块、内部类)
1.2面向对象的三大特征;(封装性、继承性、多态性、(抽象性))
1.3其他关键词;(this、super、static、final、abstract、interface、package、import等)
2.面向对象的思想变化:
程序员从面向过程的执行者转化成了面向对象的指挥者。
面向对象分析方法分析问题的思路和步骤:
2.1根据问题需要,选择问题所针对的现实世界中的实体。
2.2从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。
2.3把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。即借助某种程序
语言,把类构造成计算机能够识别和处理的数据结构。
2.4将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。
3.面向对象的两个要素:
类,对一类事物的描述,是抽象的,概念上的定义
对象,是实际存在的该类事物的每个个体,因而也称为实例(instance)
>面向对象程序设计的重点是类的设计
>设计类,就是设计类的成员。
参考代码:
package com.yewen.java;
/*
* 一、设计类,其实就是设计类的成员
*
* 属性 = 成员变量 = field = 域、字段
* 方法 = 成员方法 = 函数 = method
*
* 创建类的对象 = 类的实例化 = 实例化类
*
* 二、类和对象的使用(面向对象思想落地的实现)
* 1.创建类,设计类的成员
* 2.创建类的对象
* 3.通过“对象.属性”或“对象.方法”调用对象的结构
*
* 三、如果创建了一个类的多个对象,则每个对象都独立的拥有一套类的属性。(非static的)
* 意味着:如果我们修改一个对象的属性a,则不影响另外一个对象的属性a的值。
*
* 四、对象的内存解析
*
*
*
*
*/
//测试类
public class PersonTest {
public static void main(String[] args) {
//创建类的对象
Person p1 = new Person();
//调用对象的结构:属性、方法
//调用属性:“对象.属性”
p1.name = "tom";
p1.isMale = true;
System.out.println(p1.name);
//调用方法
p1.eat();
p1.sleep();
p1.talk("Chinese");
}
}
//创建类
class Person{
//属性
String name;
int age = 1;
boolean isMale;
//方法
public void eat() {
System.out.println("人可以吃饭");
}
public void sleep() {
System.out.println("人可以睡觉");
}
public void talk(String language) {
System.out.println("人可以说话,使用的语言是:"+language);
}
}
4.对象的内存解析:
代码段:
Person p1 = new Person();
p1.name = "Tom";
p1.isMale = true;
Person p2 = new Person();
sysout(p2.name);
Person p3 = p1;
p3.age = 10;
执行完第一行代码后:
执行第二、三行代码:
执行第四行代码:
执行第六行:
执行第七行: