什么是面向对象、对象是什么、什么是类、如何使用对象、类和对象的关系
分类:
面向过程: C语言
面向对象: Java
⾯向过程的思想:⾃顶向下 逐步执⾏。 ---> 当解决一件事情的时候,首先想到的是我该怎么去做
⾯向对象思想:以对象为中心,使用对象调用其功能。 ---> 当解决一件事情的时候,首先想到的是我该让谁帮我做。
想到的谁 ---> 对象
对象:现实生活中存在的真实的事物都是对象,Java中有一句名言: 万物皆对象,大到宇宙、小到夸克在Java的世界中都可以看成对象。
提起对象,就需要提起另一个概念——类。类是对象的模板,对象是类的实例。
二、类
概念:
将具有相同特征的一类事物的共性进行抽取(抽取的过程叫做抽象),形成的一个概念叫做类。
类的抽象:
1. 怎么去描述一个事物,从哪些维度进行描述?
这个事物具有什么 ---> 属性
这个事物会做什么 ---> 行为
2. 怎么去描述一类事物的共性?
这些事物具有什么 ---> 属性
这些事物会做什么 ---> 行为
类是对象的模板
对象是类的实例
属性 : 使用成员变量来进行描述
行为 : 使用成员方法进行描述
语法:
关键词: class 语法: public class 类名{ }
成员变量
定义位置:类中方法外
语法:
数据类型 变量名; / 数据类型 变量名 = 初始值;
作用域:至少在本类
默认值:
和数组元素的默认值是一样的
基本数据类型
整数类型 0
小数类型 0.0
字符类型 空字符
布尔类型 false
引用数据类型 null
定义的注意事项
1. 在同一个类中不能定义两个同名的成员变量
2. 在同一个类中 成员变量 可以和 局部变量可以重名,但是在访问的时候,局部变量优先。
成员方法
定义位置:类中
语法:
public 返回值类型 方法名(形式参数列表){
方法体语句;
}
案例:
class Dog{ // 属性 String name; int age; String color; //行为 public void shout(){ System.out.println("狗汪汪汪的叫"); } public void sleep(){ System.out.println("狗趴着睡"); } }
三、对象的使用
1、
语法:
类名 对象名 = new 类名();
案例:
public class Demo3 { public static void main(String[] args) { //创建一个狗类的对象 // 类名 对象名 = new 类名(); Dog d = new Dog(); } } //定义一个狗类 // 属性: 姓名 颜色 年龄 // 行为: 叫 睡 .. class Dog{ // 属性 String name; int age; String color; //行为 public void shout(){ System.out.println("狗汪汪汪的叫"); } public void sleep(){ System.out.println("狗趴着睡"); } }
2、
语法:
赋值:
对象名.属性名 = 属性值;
访问属性值:
对象名.属性名;
案例:
public class Demo3 { public static void main(String[] args) { //创建一个狗类的对象 // 类名 对象名 = new 类名(); Dog d = new Dog(); //为对象的属性进行赋值 d.name = "大黄"; d.age = 3; d.color = "黄色的"; // 属性的访问 System.out.println(d.name); System.out.println(d.age); System.out.println(d.color); } } //定义一个狗类 // 属性: 姓名 颜色 年龄 // 行为: 叫 睡 .. class Dog{ // 属性 String name; int age; String color; //行为 public void shout(){ System.out.println("狗汪汪汪的叫"); } public void sleep(){ System.out.println("狗趴着睡"); } }
语法
对象名.方法名(实际参数列表);
案例:
public class Demo3 { public static void main(String[] args) { //创建一个狗类的对象 // 类名 对象名 = new 类名(); Dog d = new Dog(); //为对象的属性进行赋值 d.name = "大黄"; d.age = 3; d.color = "黄色的"; // 属性的访问 System.out.println(d.name); System.out.println(d.age); System.out.println(d.color); // 调用对象的方法 d.shout(); d.sleep(); } } //定义一个狗类 // 属性: 姓名 颜色 年龄 性别 // 行为: 吃 叫 睡 .. class Dog{ // 属性 String name; int age; String color; //行为 public void shout(){ System.out.println("狗汪汪汪的叫"); } public void sleep(){ System.out.println("狗趴着睡"); } }