Java中的类与对象

Java中的对象

Java是一种面向对象的程序设计语言,假设我们使用Java进行面向对象的程序设计,那么在此之前,我们就必须将思想转换到面向对象的世界中。

1.1 引用与对象:

  • 学习Java之前,我们首先应该先明白一个概念:一切事物都可以被称之为对象,在生活中随处可见的事务就是一个对象,而我们可以通过一些固定格式的语法来将其表示出来。对象就是事物存在的实体,当我们表示对象时,往往会考虑对象的一些特征,比如拿一个人来说的话,我们会考虑到它的姓名、年龄,性别、高矮胖瘦等基本特征(属性),当我们将这些基本特征抽取出来时,就可以通过一种语法格式来表示对象。
  • 当对象产生时,我们会想到,如何去使用这些对象呢?此时我们将引入 “标识符”,标识符可以用来对对象进行引用,通过使用标识符与对象关联,我们就可以对对象进行操作了。需要注意的是引用与对象并不是一对一的关系, 一个对象可以被不同的引用变量来操纵,同时一个引用变量也可以指向不同的对象,但是同一时刻下只能指向一个对象当对象的引用变量指向对象时,两者就互相联系起来,改变引用的属性,就会改变对象的属性;

1.2 创建一个可以操控的对象:

  • 当我们创建一个引用之后,我们就可以将其与一个对象关联起来。此时我们需要通过new(创建对象的关键字)操作符来实现:
    例:String s = new String( "Hello World ! " );

Java中的数据类型

2.1 Java中的基本数据类型

  • 刚刚我们已经创建了一个String类型的对象,并且被String s所引用,接下来我们来了解更改的Java的基本数据类型。
  • 在Java语言中,每种基本数据类型所占用的存储空间的大小是确定的,它不像其他大多数语言那样随机械硬件结构的变化而变化。因此相对于其他大多数语言,Java更具有可移植性的特点。
基本类型大小最小值最大值包装器类型
boolean---Boolean
char16-bitUnicode oUnicode 216-1Character
byte8 bits-128+127Byte
short16 bits-215+215 -1Short
int32 bits-231+231 -1Integer
long64 bits-263+263 -1Long
float32 bitsIEEE754IEEE754Float
double64 bitsIEEE754IEEE754Double
void---Void
  • 基本类型的特点:大小固定,存在堆栈中,过作用域就被释放,不是对象,不需要用引用操控,没有可以调用的函数,按值传递。
  • 包装器类型的特点: 大小固定,存在堆中,由GC释放,本身是对象,需要依赖引用操控,有函数可以调用,按引用传递。
  • 表示基本类型的方法:
    通过创建对象进行赋值:char c = new char('c');
    直接通过数据进行赋值:char c = 'c';
    用另一个本基本类型的值进行赋值:char ch = c ;
    本类型的包装器类型初始化基本类型的值:char ch = new Character( 'x' );
    对包装类进行赋值:Character ch = new Character('x');

2.2 高精度的数字

  • Java提供了两个用于高精度计算的类:BigIntegerBigDecimal,两者对基本类型所执行的操作相似,作用与int与float的操作也能作用与BigIntegerBigDecimal。但是实现方式是调用运算符,操作会变得复杂,执行速度也会变慢,这里我们用速度换取了精度

2.3 自定义数据类型:类

  • 类与对象是整个面向对象中最基础的组成单元。
    类:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);
    对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。
    我们都知道Java是类与对象的语言,在一个类中主要有两种类型的元素:数据属性,成员方法。
    数据属性可以是任意类型的对象,可以通过其引用进行通信,也可以是基本数据类型中的一种。成员方法决定了对象能过接收什么样的消息,一个成员方法的基本组成包括:方法名称、参数、返回值和方法体。

类的使用

在现实生活中,我们不能将一个事物描述为一类事物,就像我们称呼一个人时不能直接叫它人类一样,类应该是对同一类对象的统称,在代码编程中,我们往往将一类事物的基本特征和行为,封装为一个类,而对象便是复合我们所定义类标准的一个实例。接下来我们试着定义一个类:

public class Student {                   //通过class关键字,定义一个Student类

	public String name;                  //定义一个成员变量

	public String getName() {            //定义getName方法
		return name;
	}

	public void setName(String name) {   //定义setName方法
		this.name = name;
	}
	
	@Override
	public String toString() {           //从写类的toString方法
		return "Student [name=" + name + "]";
	}
	
	public Student getStudent() {        //返回Student类的引用
		return this;
	}
	
}

在上面代码中,class关键字定义了Student类的名称,同时我们在类中定义了成员变量以及相关方法,这样我们就可以通过其他程序对这个类进行访问了。其具体步骤如下:

导包:我们将所有的类放到同一个文件夹下,可以避免导包
创建对象:数据类型 变量名 = new 数据类型();
调用方法:我们可以通过调用成员方法,来执行相关操作
访问属性:变量名.属性、或者采取调用方法的方式来完成对属性的访问

创建一个Java的程序:
对于每一个程序文件的开头,一般需要有import声明语句,用来引入文件代码中需要用到的额外类,之后public关键字表示这是一个可以由外部调用的方法。main方法的参数是一个String对象的数组,args用来存储命令函参数。如果我们想创建一个可以独立运行的程序,那么文件中必须有某个类与该文件同名,且哪个类必须包含一个名为main()的方法,其程序样例如下:

import java.util.Date; //导入Date包

public class ReadName {
	public static void main(String[] args) {
		Student student = new Student(); // 创建Student对象
		student.name = "张三"; // 对对象中的成员变量进行复制
		System.out.println("我的名字是:" + student.name); // 获取成员变量
		student.setName("李四"); // 通过成员方法对成员变量进行赋值
		System.out.println("我的名字是:" + student.getName()); // 通过成员方法获取成员变量
		System.out.println(student); // 打印类
		System.out.println("It's: " + new Date()); // 打印当前时间
	}

}

Java中的注释:
Java中有两种注释的风格一种是以"/*"开始,以"*/"结束,其间可以跨越多行:

/*
 * 注释内容
 * /

另一种是单行注释,以一个"//"开头,直到句末:

// 注释内容
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙源lll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值