转眼间玛雅预言的世界末日就已经过去了,或许这正是一个新纪元的开始,也是我开始踏上的人生的新的征程,只为不凡而来。
这次主要是总结之前学习的一些知识点,加上自己的一些理解,初来咋到,其中一些不太合理的地方还希望大家多加指点,谢谢。
1. JDK,JRE,JVM的区别和联系
JDK,也就是java语言的SDK,java软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
JVM(Java Virtual Machine)Java虚拟机,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的
JRE(Java Runtime Environment)运行java程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
三者是一个统一的整体,都是运行java程序所不可或缺的集合与环境,换句话说,JVM是实现这个整体运行的虚拟CPU,而JRE提供了动力,充当了显卡与内存的作用,使整个java体系更加完备与迅速的运行起来,JDK是核心内存,里面即包括了大量的java语言所需的类,又是整个体系的核心,没有了JDK,就相当于一台计算机没装操作系统,自然很多人不会运用。
2.类与对象的关系分析
都知道类是一个具有相同特征的物体的集合,对象的属性是实体自身所具有的性质,如具体的一个学生,他有身高,体重等特征,而我们所说的学生,却是指具有身高体重这些共同特征的类,类恰是这些对象的具体的生成模型,也就是说,从广义上来看,类是对象的抽象框架,对象是类的具体表达。而java语言恰是完全面向对象的程序设计,这一点与C语言有着本质的区别。
3.构造方法与一般方法的区别
构造方法(又名构造器方法)是一种为成员变量赋初值的专门方法,是一种特殊的成员方法,它的特殊性反应在以下几个方面:1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。2.构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。 3.每个类可以有零个或多个构造方法.4.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。 5.构造方法在初始化对象时自动执行,一般不能显式地直接调用.当同一个类存在多个构造方法时,java编译系统会自动按照初始化时最后面括号的参数个数以及参数类型来自动一一对应。完成构造函数的调用。构造方法可以被重载。没有参数的构造方法称默认构造方法与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。要注意的是每个类都会默认的有一个无参的构造方法,但如果重新写了一个有参数的构造器,则默认的无参构造方法不能被调用,除非在类定义中显式声明。
4.方法的重载与重写的区别
在一个类中可以定义多个同名,但参数类型和数量不同的方法,在使用的时候通过对方法体传相应的参数来调用同名的但作用不同的方法,如:
public class Student {
private String name;
public void setName(String n){
name=n;
}
public void study(){
System.out.println(name+"在学习");
}
public void study(int hour){
System.out.println(name+"学习了"+hour+"小时");
}
}
public class Manager {
public static void main(String args[]){
Student stu=new Student();
stu.setName("张三");
stu.study();
stu.study(5);//通过传值来调用不同的study方法
}
}
方法的重写是子类在继承的时候重写父类的方法,这样在执行的时候就可以调用子类中特定的方法,而不是父类中方法,如:
public class Student {
private String name;
public void study(){
System.out.println("Student类中学习方法,学生的名字是"+name);
}
public void setName(String n){
name=n;
}
public String getName(){
return name;
}
}
public class UNStudent extends Student{
public void study(){
System.out.println("UNStudent学习,要独立名字"+getName());
}
}
public class Manager {
public static void main(String args[]){
Student stu=new Student();
stu.setName("我是学生");
stu.study();
UNStudent uns=new UNStudent();
uns.setName("我是大学生");
uns.study();
}