2021-02-15

Java基础

Java中的类与对象

类与对象的关系

类表示一个共性的产物,是一个综合的特征,而对象,是一个个性的产物,是一个个体的特征。
(类似生活中的图纸与实物的概念。)

类必须通过对象才可以使用,对象的所有操作都在类中定义。
类由属性和方法组成:
   			· 属性:就相当于人的一个个的特征
   			· 方法:就相当于人的一个个的行为,例如:说话、吃饭、唱歌、睡觉

类的定义

// 在Java中定义类,使用关键字class完成。语法如下:

class 类名{
	属性(变量)
	行为(方法)
}

范例:

//定义一个人的类
class Person{
	//属性
	String name;//姓名
	int age;//年龄
	
	//方法
	public void Say(){
		System.out.println("这是一个名叫"+name+","+age+"岁"+"的人在说话");
	}
}
定义类之后能直接使用吗?
答案是不能的,必须通过new关键字来实例化对象之后才能使用。
//通过无参数的构造方法来创建对象
	Person p = new Person();
	//实例化对象之后,通过对象来传递参数和调用方法
	p.name = "张三";//操作属性内容
	p.age = 18;//操作属性内容
	p.Say();//调用方法
	
//通过有参数的构造方法来创建对象
Person p = new Person("张三",18);
p.Say();

3. 构造方法

//无参数的构造方法
public Person(){
	
}
//全参的构造方法
public Person(String name,int age){
	this.name = name;
	this.age = age;
}

同步与异步&并发与并行

同步:排队执行,效率低但是安全
异步:同时执行,效率高但是不安全
并发:指两个或多个事件在同一时间段内发生
并行:指两个或多个事件在同一时刻发生(同时发生)

线程

线程是程序中执行的线程。 Java虚拟机允许应用程序同时运行多个执行线程。 
每个线程都有优先权。 具有较高优先级的线程优先于具有较低优先级的线程执行。
每个线程可能也可能不会被标记为守护进程。 当在某个线程中运行的代码创建一个新的Thread对象时,新线程的优先级最初设置为等于创建线程的优先级,并且当且仅当创建线程是守护进程时才是守护进程线程。 

当Java虚拟机启动时,通常会有一个非守护进程线程(通常调用某个指定类的名为main的方法)。 Java虚拟机继续执行线程,直到发生以下任一情况: 

已调用类Runtime的exit方法,并且安全管理器已允许执行退出操作。 
通过调用run方法返回或抛出超出run方法传播的异常,所有非守护程序线程的线程都已死亡。 
有两种方法可以创建新的执行线程。 一种是将类声明为Thread的子类。 此子类应覆盖类Thread的run方法。 然后可以分配和启动子类的实例。

常见的构造方法
在这里插入图片描述

线程的六种状态

NEW 尚未启动的线程处于此状态
RUNNABLE 在Java虚拟机中执行的线程处于此状态
BLOCKED 被阻塞等待监视器锁定的线程处于此状态
WAITING 无期限等待另一个线程执行特定操作的线程处于此状态
TIME_WAITING 正在等待另一个线程执行特定操作的线程处于此状态
TREMTNATER 已退出的线程处于此状态



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值