Java学习笔记day07

编程思想

将大象装进冰箱里
这个事里面有两个对象,大象,冰箱
步骤: 
	1.开门
	2.放大象
	3.关门

面向过程

只考虑事物的发展顺序,不考虑参与在事物中的对象
现在使用该思想的语言: C, 汇编

面向对象

先考虑事物中存在哪些对象
然后再考虑事物的发展顺序

现在使用该思想的语言: Java, JavaScript, Python, C#, Object C ...

对象

万事万物皆对象

所有客观存在的事物全是对象

代码中的对象: 在代码中真实存在的事物

概念

多个对象抽取其共同点形成的概念,称为类

类与对象的关系

生活中: 先有对象,后有类
代码中: 先有类,后有对象

一个类可以创建多个对象
多个对象可以属于同一个类

如何创建一个类

语法: 
	访问权限修饰符 class 类名{
	
	}
如创建一个猫类
	public class Cat{
	
	}

类中有什么

静态特征: 属性
	作用: 描述对象的静态特征
	语法: 
		访问权限修饰符 数据类型 属性名;
		
		访问权限修饰符暂时使用public
	声明的位置:
		类中,方法以外
	别名: 成员变量
	注意: 一个类中可以有多个属性,也可以没有属性

动态特征(行为): 方法
	作用: 描述对象的行为
	
	语法:
		访问权限修饰符 修饰符 返回值类型 方法名(形参列表){
			方法体
		}
		访问权限修饰符暂时使用public
		修饰符暂时不使用
		定义方法时其他情况与学方法时一致
	定义的位置: 
		类中,方法以外
	别名: 函数,成员方法,成员函数

构造函数: 
	作用: 创建对象
	语法: 
		访问权限修饰符 构造函数名(形参列表){
			方法体
		}
		注意: 
			1.构造函数名与类名一致(大小写都要一致)
			2.使用new关键字调用
			3.一个类中可以有多个构造函数
			4.多个构造函数一定会形成重载的关系
	无参构造函数: 构造函数没有形参列表
	全残构造函数: 构造函数的形参列表需要传入该类的所有属性值
	例: 
		public class Dog{
			public String name;
			public String sex;
			public int age;
			public String color;
			
			public Dog(){
			
			}
			
			public Dog(String name, String sex, int age, String color){
			this.name = name;
			this.sex = sex;
			this.age = age;
			this.color = color;
			}
			
			public void call(){
				System.out.println(name + "汪汪汪");
			}
			
			public void eat(String food){
				System.out.println(name + "吃" + food);
			}
		}

成员变量与局部变量

成员变量: 属性
	定义的位置: 类中方法以外
	有默认值: 基本数据类型默认为0,引用数据类型默认为null
	生命周期: 随着对象的生成而生成,随着对象的销毁而销毁
	可以使用访问权限修饰符
	使用范围: 整个类中
	
局部变量: 
	定义的位置: 类中,方法中或形参中
	没有默认值
	生命周期: 随着所在方法的调用而生成,随着方法的执行完毕而销毁
	使用范围: 声明的代码块中
	不可以使用访问权限修饰符
	
局部变量与成员变量可以名称相同,默认使用局部变量

this关键字

含义: 谁调用this所在的方法,this就代表谁
作用: 
	1.当局部变量与成员变量(属性)重名时,用于区分成员变量还是局部变量
		变量名: 局部变量
		this.变量名: 成员变量
	2.在方法中调用本类的属性或方法,此时可以忽略this不写
		this.属性名/方法名(实参列表)
	3.调用本类其他构造函数
		要求: 
			1.必须在构造函数的第一行
			2.不能形成递归
		this(实参列表);

如何创建对象

语法: 
	为了好记: 
		类名 对象名 = new 类名(实参列表);
	专业:
		数据类型 对象名 = new 构造函数名(实参列表);
注意: 
	如果一个类中没有构造函数,系统将为其提供一个无参构造函数
	如果一个类中有构造函数,那么系统将不会为其提供无参构造函数

如何使用对象调用属性或方法

属性相关: 
	获取
		对象名.属性名
	修改
		对象名.属性名 = 值;
方法名: 
	对象名.方法名(实参列表);
	
总结: 
	写类: 先属性,再构造函数,最后方法
	环境类(测试类): 先创建对象,再建立关系

对象的创建过程(了解)

数据类型 对象名 = new 构造函数名(实参列表);
步骤:
	1.使用new关键字在堆内存开辟一片空间,用于存储该对象的属性与方法
	2.给对象属性赋初值,基本数据类型赋值为0,引用数据类型赋值为null
	3.执行构造函数中的代码
	4.将堆内存中的地址(步骤1中开辟的内存地址)赋值给栈的引用(对象名)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值