栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java基础--对象

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java基础--对象

对象

面向对象思想(Object Oriented Programming):
一切客观存在的事物都是对象,万物皆对象。
任何对象,一定具有自己的特征和行为。

对象及类的定义 对象

特征:称为属性,一般为名词,代表对象有什么。
行为:称为方法,一般为动词,代表对象能做什么。

类的抽取:在一组相同或类似的对象中,抽取出共性的特征和行为,保留所关注的部分。
属性:通过变量表示,又称实例变量
语法:数据类型 属性名;
位置:类内部,方法的外部

方法:通过函数表示,又称实例方法。
语法:

public 返回值类型 方法名(形参){
	//方法的主体
}

类:

public class Student(){
	//属性:
	int sid;//学号
	String name;//名字
	int age;//年龄
	// 方法:
	public void study(){
		System.out.println("study...");
	}
}

注意:不再书写static,后续解释。

对象的创建
public class Test{
	public static void main(String[] args){
		Student stu=new Student();//基于Student类创建对象
		//访问属性:对象名.属性名
		stu.sid=1;
		stu.name="张三";
		stu.age=18;
		//调用方法:对象名.方法名
		stu.study();
	}
}
类与对象的关系

类是模板,根据模板创建对象。
类:定义了对象具有的特征和行为,类是对象的模板。
对象:拥有多个特征和行为的实体,对象是类的实例。

实例变量

局部变量必须先赋值再使用,否则编译错误。
实例变量未赋值可以直接访问。
实例变量的默认值:
整数:0
小数:0.0
字符:u0000
布尔:false
其他:null

对于成员变量而言,其赋值和取值访问的先后顺序具有不确定性,对于成员变量可以在一个方法调用前赋值,也可以在方法调用后进行,这是运行时发生的,编译器确定不了,交给jvm去做比较合适。

实例变量和局部变量的区别

局部变量实例变量
定义位置方法或方法内的结构当中类的内部,方法的外部
默认值无默认值字面值(与数组相同)
使用范围从定义行到包含其的结构结束本类有效
命名冲突不允许重名可与局部变量重名,局部变量优先
实例方法

对象的实例方法包含两部分:方法的声明和方法的实现。
方法的声明:
代表对象能做什么。
组成:修饰符 返回值类型 方法名(形参列表)

方法的实现:
代表对象怎么做:即如何实现对应的功能。
组成:{}

方法重载

在有些情况下,对象的同一种行为可能存在多种实现过程。
到底采用哪种实现形式,需要取决于调用者给定的参数。
重载(Overload):一个类中定义多个相同名称的方法。
要求:

  1. 方法名称相同。
  2. 参数列表不同(类型、个数、顺序)。
  3. 与访问修饰符、返回值类型无关。
    调用带有重载的方法时,需要根据传入的实参去找到与之匹配的方法。
    好处:屏蔽使用差异,灵活、方便。
    只是参数名称不同构不成方法重载
构造方法

构造方法:类中的特殊方法,主要用于创建对象。
构造方法:创建并初始化对象
特点:

  1. 名称与类名完全相同。
  2. 没有返回值类型。
  3. 创建对象时,调用构造方法,不可通过句点调用。
    注意:如果没有在类中显示定义构造方法,则编译器默认提供无参构造方法。
    对象在栈空间,属性及其所赋的默认值在堆空间中。
    把堆空间的地址给栈空间中的对象。
对象创建过程

new Student(); 触发对象创建
对象创建过程:

  1. 开辟空间并为属性赋予默认值。
  2. 执行构造方法的代码。
  3. 将对象的地址赋值给变量。
构造方法重载

构造方法也可以重载,遵循重载规则。
创建对象时,根据传入参数,匹配对应的构造方法。
向类中添加了带参的构造方法,需要再加上原本的无参构造方法。
在类中,如果没有显示定义构造方法,则编译器默认提供无参构造方法。
如已手动添加有参构造方法,则无参构造方法不再默认提供,可根据需求自行添加。
构造方法为属性赋值:
方法一:创建对象的同时,将值传入构造方法。
方法二:由构造方法为各个属性赋值。

this关键字

类是模板,可服务于此类的所有对象。
this是类中的默认引用,代表当前实例。
当类服务于某个对象时,this则指向这个对象。
第一种用法:调用实例属性、实例方法。
例如:this.name、this.study()
第二种用法:调用本类中的其他构造方法。
例如:this()、this(实参)
this():调用无参构造
this(实参):调用有参构造
注意:必须在构造方法的首行
this()必须是构造方法的首行而且只能调用一次

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/325090.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号