Java--面向对象的基础

本文详细讲解了编程中的面向对象概念,包括对象和类的定义,类的创建(公共类、属性、方法、构造函数),以及如何通过实例化创建对象。重点介绍了Java类的定义、对象内存分配和重载,以及局部变量与成员变量的区别。
摘要由CSDN通过智能技术生成

编程思想

面向过程
	只考虑事物发展的的顺序
面向对象
	1、先考虑事物中有哪些对象
	2、再考虑对象与对象之间的关系

什么是对象

生活中的对象:真实存在的事事物
代码中的对象:通过代码描述一个真实存在对的事物
	静态:属性(或成员变量)
	动态:方法(函数)

什么是类

多个对象抽取其共同点形成概念,称为“类"
属性
方法

对象与类的关系

生活中:
	先有对象,再有类
代码中:
	先有类,再有对象
对象是类的实例,类是多个对象抽取共同点形成的概念

Java类

如何创建类

语法:
	class 类名{
	
	}
注意:
	1、一个类class前有public,这种类称为”公共类“
	2、公共类的类名必须与文件名一致
	3、一个文件中可以定义多个类
	4、一个文件中只能有一个公共类
	5、一个文件中类名不能重复
建议:
	1、一个文件中只能写一个类
	2、类名的命名规则
		2.1、大驼峰,见名只意
		2.2、可以使用大写字母,小写字母,数字,“_”,"$"
		2.3、数字不能开头

类的组成

属性(成员变量):
	作用:描述该类对象静态的事物
	如:人的性别、姓名、年龄等
	
	在那定义属性?
		类中,方法以外,定义的变量称为属性
		注意:一个类中属性名不能重复
	如何定义属性?
		1、在类中,方法以外
		2、使用定义变量的方法定义属性
		语法:数据类型 属性名;
方法(函数):
	作用:描述该类对象动态的特征
	如:人的吃饭、睡觉、打游戏等
	
	在那定义方法?
		类中,方法以外
	如何定义方法?
		public 返回值类型 方法名(形参列表){
			方法体
			return 返回值;
		}
构造函数(构造方法):
	作用:创建该类的对象
	注意:类中可以不定义构造函数,如果一个类中没有构造函数,系统会帮我们给该类生成一个无参构造函数
	语法:
		public 类名(形参列表){
			方法体
		}
		注意:没有返回值的特殊方法
练习:
    创建一个类为dog
    该类的属性有:姓名、性别、毛色、年龄
    方法有:叫,在该方法中输出“汪汪汪!”
    提供一个有参构造,一个无参构造
    class dog{
	//属性:姓名、性别、毛色、年龄
	String name;
	String sex;
	String color;
	int age;
	//定义构造函数(无参)
	public dog() {
		
	}
	//定义构造函数(有参)
	public dog(String name,String sex,String color,int age) {
		
	}
	//定义“叫”方法
	public void call() {
		System.out.println("汪汪汪!");
	}
}

重载

要求:
	1、同一个类中
	2、方法名一致
	3、形参列表不同
注意:一个类中如果有多个构造函数,那么这多个构造函数的关系一定是重载

局部变量与成员变量

局部变量:
	声明的位置:方法中或形参中
	使用范围:在A方法中声明,只能在方法A中使用
	生命周期:变量的声明开始,方法调用结束
成员变量:
	声明的位置:类中方法外
	使用范围:在A类中声明,可以在A类中的任何一个方法中使用
	生命周期:随对象的创建而生成,随对象的消亡而消亡

this关键字

1、在方法中,当成员变量与局部变量名称一致时,用于区分成员变量还是局部变量
2、在方法中调用当前类的其他成员属性或方法
3、在构造函数中使用this
	可以调用成员变量或成员方法
	可以区分成员变量与局部变量
	可以调用当前类中别的构造函数
		语法:this(实参列表)
		注意:只能在构造函数的第一行使用
含义:谁调用this所在的方法,this就代表谁

Java对象

如何创建一个对象

语法:
	数据类型 对象名 = new 类名(实参列表)
含义:
	使用new关键字调用构造
注意:
	该对象的类名就是该对象的数据类型
	一个类可以创建多个对象

对象创建过程

1、在堆内存中开辟一片空间
2、加载对象的属性,并给属性赋初值
3、执行构造函数中的代码
4、将开辟的内存地址赋值给变量

基本数据类型传递的是值本身,引用数据类型传递的是地址

对象的内存分配

参考文章:(https://www.cnblogs.com/jianwei-dai/p/15402683.html)

对象调用属性,调用方法

调用属性:
	对象.属性名				 获取属性值
	对象.属性名 = 值;			设置属性值
调用方法
	对象.方法名(实参列表);

匿名对象

没有变量名的对象,称为匿名对象
使用场景:
	当对象只使用一次时,可以不用给对象起对象名,直接创建并使用

anwei-dai/p/15402683.html)

对象调用属性,调用方法

调用属性:
	对象.属性名				 获取属性值
	对象.属性名 = 值;			设置属性值
调用方法
	对象.方法名(实参列表);

匿名对象

没有变量名的对象,称为匿名对象
使用场景:
	当对象只使用一次时,可以不用给对象起对象名,直接创建并使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值