Java学习第三天(面向对象)

Java学习第三天(面向对象)

一、面向对象概述

面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用不仅仅局限于程序设计和软件开发,还应用到了很多领域,诸如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法。

1. 面向对象与面向过程区别

面向过程:思考核心在过程,那么这两个任务将被分散编写。增加了代码的维护难度 ,不符合人类思考方式
面向对象:重点是有哪些对象,分别做什么事情。

2. 面向对象程序设计

将数据及对数据的操作封装在一起,成为一个不可分割的整体
同时将具有相同特征的对象抽象成一种新的数据类型—类
通过对象间的消息传递使整个系统运转,通过类的继承实现代码重用。

3. 面向对象相关概念

OOA:面向对象的分析(Object-Oriented Analysis)
OOD:面向对象的设计 (Object-Oriented Design)
OOP: 面向对象的编程 (Object Oriendted Programming )

面向对象最重要的三大特征是
封装、继承、多态

二、类与对象

Java程序员都知道的一句话:“ 万物皆对象 ”

1. 什么是对象?

生活中的对象:
例如,小黑和小白的年龄、姓名不一样;小黑和小白都能走路、说话等。
年龄和姓名就是小黑和小白具有的特征,他们都能走路就是小黑和小白具有的行为。

生活对象---->用来描述客观事物的一个实体,由一组特征和行为构成
程序对象---->用来模仿客观事物的一个实体,由一组属性和方法构成

程序中对象:
属性----特征
方法---- 行为

2. 类的定义

类就是具有相同属性和方法的一组对象的集合,类可以理解成是对象的类型
例如:

int i = 0;

int 是变量 i 的类型,0 是变量 i 的值,同样的:

Student s = new Student();

Student 是变量 s 的类型,new Student( ) 得到的地址是 s 的值

对象类型不同于基本数据类型(int):对象类型具有方法

类是抽象的概念,对象是类的具体实体
例如“人“ 是类,人这个类中具体有小黑,小白这样的一个一个的人,是对象

类是构成 Java程序的基础

3. 如何定义一个类:

public class  类名 {               
	//定义属性部分               
	属性1的类型 属性1;               
	属性2的类型 属性2;                       
		...
	属性n的类型 属性n;               
	//定义方法部分               
	方法1;               
	方法2;                     
	 ...                       
	方法m; 
} 

注意:用public定义的类的名称要和文件名一样

类的编写示例

public class Student {
	//属性,定义类时一般不用赋值,创建对象是再赋值
	String name;//名称
	int studentNo;//编号
	
	//做作业方法,方法的定义后边有会细讲,这里先了解
	public void doWork(){		
		System.out.println(this.name+"会做作业");
	}
	
	//交作业
	public void commit(){
		System.out.println(name+"会交作业");
	}
}

4. 创建对象

示例:

public class Student {
	//属性,定义类时一般不用赋值,创建对象是再赋值
	int studentNO;
	String name;
	
	
	//方法,方法的定义后边有会细讲,这里先了解
	public void doWork(){
		System.out.println(name +"做作业");		
	}
	
	public void commit(){
		System.out.println(name +"交作业");		
	}
	
	public static void main(String[] args) {
		Student s = new Student();//s表示堆中的对象,我们叫引用变量
		//如何访问对象的属性,用 对象.属性名
		s.studentNO = 1;//访问学生属性,并给属性赋值
		s.studentName = "pj";
		//s.studentNO 直接获取学性的属性的值
		System.out.println("学生的编号:"+s.studentNO+",学生的名称:"+s.studentName);
		
		
		Student s2 = new Student();//s表示堆中的对象,我们叫引用变量
		//如何访问对象的属性,用 对象.属性名
		s2.studentNO = 2;
		s2.studentName = "xc";
		//s2.studentNO 直接获取学性的属性的值
		System.out.println("学生的编号:"+s2.studentNO+",学生的名称:"+s2.studentName);
				
		
		//如何访问对象的行为(方法),用 对象.方法名
		s.doWork();
		s.submitWork();
		
		//如何访问对象的行为(方法),用 对象.方法名
		 s2.doWork();
		 s2.submitWork();
	}

}

注意!!!
同一个类中,使用(属性)变量,还是遵循先声明,后使用的原则,方法内访问本类的属性,一般不需要new来创建对象,直接使用即可。

三、类的方法

1. 返回类型定义与使用

1.方法可以有返回类型,或没有返回类型

2.如果没有,则使用void关键字声明

3.如果方法有返回类型,需要声明返回的类型,方法执行完后要通过return关键字返回对应类型的数据,只能返回一个

4.调用方法的地方可以使用对应类型的变量来接收返回的数据

2. 类方法参数

1) 无参方法

语法:

<访问修饰符>  返回值类型  方法名()  {           
	 //这里编写方法的主体 
}

示例:

public void test(){
	//方法的主体
	System.out.println("Holle World!");
}
2) 有参数方法使用

语法:

<访问修饰符> 返回类型 <方法名>(<形式参数列表>){    
	//方法的主体 
 } 

示例:

public class Rabbit {
	// 说话需要返回对应的内容,计算方法根据传给方法的两个数字及运算符号返回计算结果
	public String speak(String str) {//str叫形参
		if (str.equals("在不在")) {
			return "在的!";
		} else if (str.equals("几点了")) {
			return "16点了";
		} else {
			return "对不起,我听不太明白";
		}

	}

3. 形参与实参

形参:定义方法时,声明的参数就是形式参数。
形参的参数类型可以是基本数据数据、也可以是对象类型(包括数组、String 或者自已编写的类等);

实参:调用方法,给方法的形式参数传递实际的值

调用有参的方法:
调用时需要给形参赋值,有多个参数,按顺序和对应的类型赋值

4.使用方法是需要注意的细节

  1. 无参的方法可以不写 return 关键字,也可以写 return 关键字,但是有 return 的时候不可以返回任何值。
  2. 方法的内部不可以再次定义方法。
  3. 不能再方法的外部编写逻辑代码(可以使用代码块)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值