JavaSE

Posted earnest-jie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE相关的知识,希望对你有一定的参考价值。

面向对象


学习面向对象三条主线

  1. 类和类的成员的研究
  2. 三大特性 : 封装Encapsulation, 继承Inheritance, 多态Polymorphism
  3. 其他关键字 : this, package, import

完成需求时

  1. 先去找具有所需功能的对象来用。
  2. 如果该对象不存在,那么创建一个具有所需功能的对象。
  3. 这样简化开发并提高复用。

面向对象程序设计的重点是类的设计


对现实世界事物的描述, 是抽象的, 是概念上的.

? 用成员变量来描述事物的特征

? 用成员方法来描述事物的行为

对象

类的实体, 也称实例.

  • 类的本质也是一种新的数据类型, 也称为复合数据类型, Teacher类类型, 和int, char一样.
class Teacher1 {
	
	// 成员(member)变量来描述事物的特征
	String name; // 对象属性或实例变量
	int age;// 对象属性或实例变量
	String gender;// 对象属性或实例变量
	
	// 成员(member)方法来描述事物的行为
	// 对象方法或实例方法
	public void lesson() { //对象方法
		System.out.println(name + "老师在上课");// 成员互访
	}
	
	public String eat(String some) { //对象方法
		System.out.println(name + "老师在吃" + some);// 成员互访
		return "真好吃";
	}
	
	// 自我介绍, 返回一个字符串, 内容是我的所有属性值的拼接, 加上一些提醒会更清晰
	public String say() { //对象方法
		String str = "姓名 : " + name + ", 年龄 : " + age + ", 性别 : " + gender; // 成员互访
		return str;
	}
	
}

public class TeacherTest {
	
	public static void main(String[] args) {
		// 类也备好了, 我们可以创建对象了.
		Teacher t = new Teacher(); //依据类模板创建对象, 使用关键字new ;
		t.name = "李明"; // 给对象的姓名赋值
		t.age = 30;
		t.gender = "男";
		
		// 对象成员, 必须通过对象.成员的方法来访问
		System.out.println(t.name); // 打印对象的姓名
		System.out.println(t.age);
		System.out.println(t.gender);
		
		// 对象方法
		t.lesson();
		t.eat("包子"); // 方法调用 : 方法名(实参)
		String s = t.say();
		System.out.println(s);
	}
}


每日一考


  1. 什么是类, 什么是对象, 什么是实例?

? 类 : 对现实世界事物的描述, 抽象定义

? 对象 : 类的实体, 也称为实例.

? 实例 : 就是对象, 对象就是实例, 是一回事. .,./

  1. 类中有哪些成员? 各有什么作用? 成员意味着什么?

属性, 方法.

属性描述事物的特征, 通常都是名词.

方法描述事物的行为, 动作. 通常都是动词.

成员意味着同属一个类, 成员可以直接互访.

  1. Teacher t = new Teacher(); 这个语句中的t究竟是什么?

t是一个Teacher类型的引用类型的变量, t变量内存空间中保存的是地址(右面对象在堆内存中的地址—某个字节的编号), t指向对象实体. 通过t操作数据, 就相当于操作对象.

?

  1. Teacher t1 = new Teacher();

? Teacher t3 = t1;

? Teacher t2 = new Teacher();

? t1 = t2;

? t2 = t3

? 以上代码中创建了几个对象? B, 因为有两个new操作

? A. 1个 B.2个 C.3个 D.4个

  1. 什么是垃圾对象? 垃圾对象会被立刻清理吗? 如何清理垃圾?

? Teacher t1 = new Teacher();

? t1 = null;

? 不再有引用指向的对象, 称为垃圾对象. GC内部测试对象是否可达, 如果不可达, 就是垃圾对象, GC会清理它, GC什么时候清理取决于GC内部.

? 如何清理? 把垃圾对象占用的所有内存空间标识为可用状态.

栈 : 正在运行中的方法

堆 : 类数据, 和对象数据, 常量池.

以上是关于JavaSE的主要内容,如果未能解决你的问题,请参考以下文章

JavaSE线程基础

[javase学习笔记]-8.7 静态代码块

[javase学习笔记]-8.8 构造代码块

JavaSE8基础 构造代码块简单示例

JavaSE 语法基础 --- 反射(基础知识问答+代码详解)

初学javase