Java十分钟理清面向对象与类的核心

 更新时间:2022年3月13日 16:30  点击:238 作者:热爱飞行的小应学长

什么是对象?

  • 一切客观存在的事物都是对象

对象的组成

  • 属性、行为

类是什么?

  • 类是对大量对象共性的抽象
  • 类是客观事物在人脑中的主观反映
  • 类是创建对象的模板

类的组成

  • 属性、行为
  • 简单的说,一个类就是把公有的特征写在一起,然后由这个类创建的对象,都会都这个属性。 例如人这个类 属性会吃饭,会说话。我们就是对象,我们属于人这个类,因此我们也会吃饭说话。

Java中类的定义

语法:

public class Student{
//在这里面写成员属性、成员方法
}
 //Student就是这个类的名字,这个可以自定义即可

成员变量的声明:

public class Student{
	String name;  //定义一个名字的属性
	int age;      //定义一个年龄的属性
//也可以直接赋初始值
	int age=10;  
}

成员方法的声明:

public class Student{
	String name;  //定义一个名字的属性
	int age;      //定义一个年龄的属性

	public void show(){           //这个就是成员方法
		System.out.println("我叫:"+name+"今年:"+age+"岁")

	//当由这个类创建了一个对象后,使用这个方法,即可输出里面的这句话
}
}

通过类创建一个对象:

语法:变量名 = new 类类型名();

Student stu = new Student();
//意思是stu就是Student这个类的一个对象,并且有这个类的属性和方法

调用对象的成员方法:

语法:对象名.方法名([参数,……]);

Student stu = new Student();
stu.show();  //用这个对象去调用类的show方法即可,
//因为这个方法是不需要传参数的,所以直接调用就可以了

方法的重载:

如果一个类中有多个具有相同名称但参数不同的方法,则称为方法重载。如果只需要执行一个操作,具有相同的方法名称将增加程序的可读性。

// 两个整数相加
int add(int num1,int num2){
	return num1 + num2;

// 两个double浮点数相加
int add(double num1,double num2){
	return num1 + num2;
	
// 两个float浮点数相加
int add(float num1,float num2){
	return num1 + num2;
//三个方法的名字都是系统的,但是需要传入的参数不同,这样就是方法的重载
//具有相同的方法名称将增加程序的可读性。 

构造方法的使用:

Java语言通过类的构造方法构建对象,构造方法与普通方法的声明类似,但是构造方法有一些特征:构造器的名称必须与类名相同。

作用:

一般用来初始化成员属性和成员方法的,即new对象产生后,就调用了对象的属性和方法。 构造函数是对象一建立就运行,给对象初始化,就包括属性,执行方法中的语句。而一般函数是对象调用才执行,用 “.方法名” 的方式,给对象添加功能。

public class Student{

	//无参数构造方法
	public Student(){				
		System.out.println("这个是构造方法")     
		}  //当new一个对象后,这个方法将自动运行,并会执行里面的语句
			
}

	//有参数构造方法
	public Student(String name){				
		this.name = name;    
		}  //当new一个对象后,需要在new对象后面传入一个String值,
		//构造方法会将这个值赋值给类中全局变量的name
	//示例:
	Student stu = new Student("小红");
	//这句就是在new对象的时候,把name值进行了初始化
			
}

构造方法的使用场景:

构造方法除了用于实例化对象之外,可以通过构造方法为成员变量赋值

this关键字:

this是一种特殊的引用,指向当前对象

  • 如果发生局部变量可以成员变量命名冲突时,可以通过this.成员变量名的方式区分实例变量和局部变量
  • 一个构造方法中需要调用同一个类的另一个构造方法,可以通过this()的方式调用,但this()必须要书写在第一行

使用:

//拿这个代码块举例
//当传入一个name值后,我们需要把这个值传到**全局变量**内使用
//如果不加this,则name将会与这个方法里面的name进行匹配赋值,因为在方法内是属于局部变量
//所以我们在接收变量前加上this关键字后,指的就是全局变量
public Student(String name){				
		this.name = name;    
		}

到此这篇关于Java十分钟理清面向对象与类的核心的文章就介绍到这了,更多相关Java 面向对象内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!

原文出处:https://blog.csdn.net/m0_57310550/article/details/122225230

[!--infotagslink--]

相关文章

  • Java实现经典游戏复杂迷宫

    这篇文章主要介绍了如何利用java语言实现经典《复杂迷宫》游戏,文中采用了swing技术进行了界面化处理,感兴趣的小伙伴可以动手试一试...2022-02-01
  • php svn操作类

    以前我们开发大型项目时都会用到svn来同步,因为开发产品的人过多,所以我们会利用软件来管理,今天发有一居然可以利用php来管理svn哦,好了看看吧。 代码如下 ...2016-11-25
  • PHP 数据库缓存Memcache操作类

    操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以实现了,下面整理了...2016-11-25
  • java 运行报错has been compiled by a more recent version of the Java Runtime

    java 运行报错has been compiled by a more recent version of the Java Runtime (class file version 54.0)...2021-04-01
  • 在java中获取List集合中最大的日期时间操作

    这篇文章主要介绍了在java中获取List集合中最大的日期时间操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-15
  • 教你怎么用Java获取国家法定节假日

    这篇文章主要介绍了教你怎么用Java获取国家法定节假日,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下...2021-04-23
  • Java如何发起http请求的实现(GET/POST)

    这篇文章主要介绍了Java如何发起http请求的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-31
  • 浅谈Java与C#的一些细微差别

    说起C#和Java这两门语言(语法,数据类型 等),个人以为,大概有90%以上的相似,甚至可以认为几乎一样。但是在工作中,我也发现了一些细微的差别...2020-06-25
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • Php文件上传类class.upload.php用法示例

    本文章来人大家介绍一个php文件上传类的使用方法,期望此实例对各位php入门者会有不小帮助哦。 简介 Class.upload.php是用于管理上传文件的php文件上传类, 它可以帮...2016-11-25
  • 解决Java处理HTTP请求超时的问题

    这篇文章主要介绍了解决Java处理HTTP请求超时的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-29
  • java 判断两个时间段是否重叠的案例

    这篇文章主要介绍了java 判断两个时间段是否重叠的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-15
  • java 画pdf用itext调整表格宽度、自定义各个列宽的方法

    这篇文章主要介绍了java 画pdf用itext调整表格宽度、自定义各个列宽的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-31
  • 超简洁java实现双色球若干注随机号码生成(实例代码)

    这篇文章主要介绍了超简洁java实现双色球若干注随机号码生成(实例代码),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-04-02
  • Java生成随机姓名、性别和年龄的实现示例

    这篇文章主要介绍了Java生成随机姓名、性别和年龄的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-01
  • PHP实现无限级分类(不使用递归)

    无限级分类在开发中经常使用,例如:部门结构、文章分类。无限级分类的难点在于“输出”和“查询”,例如 将文章分类输出为<ul>列表形式; 查找分类A下面所有分类包含的文章。1.实现原理 几种常见的实现方法,各有利弊。其中...2015-10-23
  • PHP实现递归无限级分类

    在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性。那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类。 递归,简单的说就是一段程序代码的重复调用,当把...2015-10-23
  • java正则表达式判断前端参数修改表中另一个字段的值

    这篇文章主要介绍了java正则表达式判断前端参数修改表中另一个字段的值,需要的朋友可以参考下...2021-05-07
  • Java使用ScriptEngine动态执行代码(附Java几种动态执行代码比较)

    这篇文章主要介绍了Java使用ScriptEngine动态执行代码,并且分享Java几种动态执行代码比较,需要的朋友可以参考下...2021-04-15
  • Java开发实现人机猜拳游戏

    这篇文章主要介绍了Java开发实现人机猜拳游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-08-03