面向对象编程的概念
答:万物皆对象!
答:面向对象就是指以特征(属性)和行为的观点去分析现实世界中事物的方式。
答:面向对象编程就是指先使用面向对象的方式去分析,再使用任意一门面向对象的编程语言进行翻译的过程。
答:深刻理解面向对象编程的三大特征:封装、继承、多态。
类、对象以及引用
对象是客观存在的实体,在Java语言体现为内存空间的一块区域。
类就是分类的概念,是对具有相同特征和行为的多个对象共性的抽象描述,在Java语言中包含描述特征的成员变量和描述行为的成员方法。
类定义的语法格式
1 2 3 4 5 6 7 8
| class 类名{ 类体; }
class Person{
}
|
成员变量定义的语法格式
1 2 3 4 5 6 7 8 9 10 11 12 13
| class 类名 { 数据类型 成员变量名 = 初始值; - 其中 =初始值可以省略,但分号不可以省略 }
class Person { String name; int age; }
|
创建对象的语法格式
1 2 3 4 5 6
| new 类名();
new Person(); - 表示创建Person类型的对象,匿名对象
|
基本概念
使用引用数据类型声明的变量 叫做引用型变量,简称为"引用"。
引用变量的定义本质上就是在内存区域的栈区申请一块存储空间,用于记录对象在堆区中的内存地址信息。
语法格式
1 2 3 4 5 6 7 8
| 类名 引用变量名;
Person p; --表示声明Person类型的引用变量p,本质上在栈区申请存储空间 Person p = new Person(); --表示声明引用变量p来记录Person类型对象的地址信息
引用变量名.成员变量名;
p.name = "张飞"; --表示使用引用变量p访问所指向堆区对象的姓名特征
|
语法格式
1 2 3 4 5 6 7 8 9 10 11 12
| class 类名{ 返回值类型 成员方法名(形参列表){ 成员方法体; } }
class Person{ void show(){ System.out.println("Hello,World"); } }
|
方法的详解
(1)返回值类型
1 2 3 4 5 6 7 8 9 10 11 12
| 返回值主要指从方法体内向方法体外传出的数据内容。 返回值类型主要指返回值的数据类型,可以是基本数据类型也可以是引用数据类型。 如: 当返回的数据内容是66时,则返回值类型写为int即可; 当返回的数据内容是3.14时,则返回值类型写为double即可; 当返回的数据内容是"hello"时,则返回值类型写为String即可;
使用return关键字可以返回具体的数据内容并且结束当前方法。 如: 当返回的数据内容是66时,则方法体内写 return 66即可; 当返回的数据内容是3.14时,则方法体内写 return 3.14即可; 当方法体内不需要返回任何数据内容时,则返回值类型写void即可。
|
(2)形参列表
1 2 3 4 5 6 7 8 9
| 形式参数主要用于将方法体外的数据内容带入到方法体的内部。 形参列表主要指多个形式参数, 语法格式:数据类型 形参变量名1, 数据类型 形参变量名2, ... 如: 当传入的数据内容是66时,形参列表写为: int i即可; 当传入的数据内容是3.14时,形参列表写为:double d即可; 当传入的数据内容是"hello"时,形参列表写为:String s即可; 当传入的数据内容是66和3.14时,形参列表写为:int i, double d 即可; 当该方法不需要传入任何数据内容时,则形参列表位置啥也不写即可。
|
(3)方法体
1 2 3 4
| 方法体中主要用于编写描述该方法的功能语句。 如: 当该方法的功能是打印时,则方法体中写:System.out.println("..."); 当该方法的功能是计算1+1的和并返回时,则方法体中写:return 1+1 即可;
|
语法格式
1 2 3 4 5 6 7
| 引用变量名.成员方法名(实参列表);
p.show(); --表示使用引用变量p调用show方法
|
定义Point类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
public class Point { int x; int y;
void show() { System.out.println("横坐标:" + x + ",纵坐标:" + y); } void setX(int i) { x = i; } void setY(int j) { y = j; } int getX() { return x; } int getY() { return y; }
public static void main(String[] args) { Point p = new Point(); p.show(); System.out.println("-----------------------------------");
p.x = 3; p.y = 5; p.show(); System.out.println("-----------------------------------");
p.setX(10); p.setY(20); p.show(); System.out.println("-----------------------------------");
int ia = p.getX(); System.out.println("获取到的横坐标是:" + ia); int ib = p.getY(); System.out.println("获取到的纵坐标是:" + ib); } }
|