Java面向对象

类和对象

1.面向对象

Java语言是一种面向对象的语言,要使用java进行面向对象的编程,首先要建立面向对象的的思想,面向对象是一种直观而且程序结构简单的程序设计方法,它比较符合人类知识现实世界的思维方式。其基本思想是把问题看成由若干个对象组成,这些对象之间是独立的,但又可以相互配合、连接和协调,从而共同完成整个程序要是想的人物和功能。
生活中的对象:
万物皆对象:你身边的任何一个物体/实体都可以称之为对象。

我们在描述生活中的一个个对象时通常都会采用特征+行为的方式。
特征:属性
行为:方法
对象的概念:
用来描述客观事物的一个实体,由一组属性和方法构成。

类是具有相同属性和方法的一组对象的集合。类定义了对象将会拥有的特征(属性)和行为(方法)。
类于对象的关系就如同模具和用这个模具制作出的物品之间的关系。一个类给出他的全部对象的一个统一的定义,,而它的每个对象则是符合这种定义的一个实体。因此类和对象的关系就是抽象和具体的关系。类是多个对象进行综合抽象的结果,是尸体对象的概念模型,而一个对象是一个类的实例。
生活中的类
我们在看到一群对象/实体时,会下意识进行分类(人类认识事物的必然过程)。“物以类聚、人以群分”

学生(类别)、人类、哺乳类、爬行类、猫类、灵长类、啮齿类…

类(类别):它是一个抽象的概念,它是从一群对象中抽取共性的特征和行为产生的一个概念。没有办法具体拿某个对象来表示某个类别,因为对象只是类的一个个体。
程序中的类和对象
Java 是一个“不完全”的面向对象的编程语言。(因为有基本数据类型存在)
它以类(引用数据类型)巍峨基本单位,被class修饰的。
**基本数据类型:**byte short int long float double char boolean

**引用数据类型:**数组、类(String就是一个类)、接口、枚举…
程序中的类和对象都是从生活中抽象而成的,你在现实中如何描述它们,程序中也是。
类的创建方式

public  class 类名{
    // 1.此类的相关属性(成员变量/字段)
    
    // 2.此类的相关方法(成员方法/函数)
}

例如定义学生类:

public class Student{
    // 相关属性
    姓名
    学号
    班级
    专业
    性别....
    
    // 相关方法
    学习
    考试
    作业...
}

定义方法:
[访问修饰符] 返回值类型 方法名称(参数类型 参数1,参数类型 参数2……)
例:

// 一组方法(成员方法)
	// public static void main(String[] args){}
	/**
	 * 学习方法
	 */
	public void study() {
		System.out.println(major+"专业的"+classId+"班级的"+stuName+"正在好好学习!");
	}
	
	/**
	 * 自我介绍
	 */
	public void showMyself() {
		System.out.println("姓名:"+stuName);
		System.out.println("班级:"+classId);
		System.out.println("专业:"+major);
		System.out.println("性别:"+gender);
		System.out.println("年龄:"+age);
		System.out.println("成绩:"+score);
		System.out.println("学号:"+stuNo);
	}
}

对象创建的方式
语法:类名 对象名 = new 类名();
Student chenXu = new Student(); // 基于Student模板创建了一个个体/对象
调用属性:

对象名.属性名  = xxx; // 赋值

对象名.属性名

调用方法:
对象名.方法名();

public class Test {

public static void main(String[] args) {

	// 根据类模板产生对象
	// 创建对象(对象名的命名规范和变量名一致)
	Student chenXu = new Student();
	Student shr = new Student();
	
	// 操作/调用属性
	shr.stuName = "史浩然";
	shr.classId = 335;
	shr.major = "电竞俱乐部厕所打扫官";
	
	chenXu.stuName = "陈旭";
	chenXu.classId = 335;
	chenXu.major = "建筑学";
	chenXu.gender = '男';
	chenXu.stuNo = 9527;
	chenXu.age = 12;
	
	// 操作/调用方法   input.nextInt();
	chenXu.showMyself();
	chenXu.study();
	
	// shr.study();
	// shr.showMyself();
	System.out.println(shr.stuName+"的专业是:"+shr.major);
}

}
基本方法的创建
面向过程/方法/函数,结构化方法

方法:
是功能,是一系列代码的聚合,也可以理解为一个魔术箱。
基本语法:

访问修饰符    返回值类型    方法名(参数列表){ // 方法声明
	// 方法体
}
// Arrays.toString(参数); 将数组转换为字符串
public void(表示没有返回值) showMyself(){
    syso();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值