JavaSE
Posted earnest-jie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE相关的知识,希望对你有一定的参考价值。
面向对象
学习面向对象三条主线
- 类和类的成员的研究
- 三大特性 : 封装Encapsulation, 继承Inheritance, 多态Polymorphism
- 其他关键字 : this, package, import
完成需求时
- 先去找具有所需功能的对象来用。
- 如果该对象不存在,那么创建一个具有所需功能的对象。
- 这样简化开发并提高复用。
面向对象程序设计的重点是类的设计
类
对现实世界事物的描述, 是抽象的, 是概念上的.
? 用成员变量来描述事物的特征
? 用成员方法来描述事物的行为
对象
类的实体, 也称实例.
- 类的本质也是一种新的数据类型, 也称为复合数据类型, 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);
}
}
每日一考
- 什么是类, 什么是对象, 什么是实例?
? 类 : 对现实世界事物的描述, 抽象定义
? 对象 : 类的实体, 也称为实例.
? 实例 : 就是对象, 对象就是实例, 是一回事. .,./
- 类中有哪些成员? 各有什么作用? 成员意味着什么?
属性, 方法.
属性描述事物的特征, 通常都是名词.
方法描述事物的行为, 动作. 通常都是动词.
成员意味着同属一个类, 成员可以直接互访.
- Teacher t = new Teacher(); 这个语句中的t究竟是什么?
t是一个Teacher类型的引用类型的变量, t变量内存空间中保存的是地址(右面对象在堆内存中的地址—某个字节的编号), t指向对象实体. 通过t操作数据, 就相当于操作对象.
?
- 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个
- 什么是垃圾对象? 垃圾对象会被立刻清理吗? 如何清理垃圾?
? Teacher t1 = new Teacher();
? t1 = null;
? 不再有引用指向的对象, 称为垃圾对象. GC内部测试对象是否可达, 如果不可达, 就是垃圾对象, GC会清理它, GC什么时候清理取决于GC内部.
? 如何清理? 把垃圾对象占用的所有内存空间标识为可用状态.
栈 : 正在运行中的方法
堆 : 类数据, 和对象数据, 常量池.
以上是关于JavaSE的主要内容,如果未能解决你的问题,请参考以下文章