1.java的编写,翻译和执行的过程:
对于java的翻译和执行的具体细节性问题大家可以看一下下图(内部执行过程):
Java编译过程:First,java源文件——>javac 编译——>First.class(class文件)
Java运行过程:java First——>java虚拟机装载类文件——>java虚拟机执行.class文件。
要注意一下细节:类名是First,因为用记事本编写,故存储的后缀名为”.java”,这期间要注意一个将后缀名显示出来,这样便于存储,和执行,显示缀名的方法:工具——》文件夹选项——》查看——》将隐藏已知文件的的扩展名的对勾去掉,就可以了。
2.面向对象和面向过程的理解:
(1)从直观层面上说:面向对象和面向过程的区别在于:面向的不一样,就是他所关注的不同:
面向过程:关注的是一个个过程,完成一件工作,需要若干个过程,比如去西藏:需要以下几步:发动车——>启动GPS——>拿出地图,找到路线——>按照路线图出发
面向对象:关注的是对象,完成去西藏,要知道是谁去,关注的是这个人,然后调用相应的方法,去完成;
(2)从代码从面上说,面向对象和面向过程可以用:C语言中的结构体和其进行比较区别
C语言的结构体
typedef struct student
{
int num;
struct student *next;
}student;
Student student;
而java面向对象:
//创建一个学生类
public class Student{
//属性:所有对象的共同点!声明类的属性
String name;
String school;
String grade;
String cla;
//方法:该类的对象所能做的事情
public void study(){
System.out.println(school+grade+cla+name+"正在学习中");
}
}
可以明显看出,两者在定义上面,就差了个方法,就是C语言中的函数;
2. 类和对象的对象的关系分析:
可以从以下几部分来区分
a:类是抽象的,比如人类,没有具体的姓名啊,年龄啊...而对象是具体的,比如某人张三,他是有姓名,有年龄,有性别的
b:通俗来看类可以看着为一个模板,对象看成是模板生产的产品
c:讲的抽象点----类是一组具有相同特性和行为对象的集合
3. 定义类,创建对象,调用方法
类的定义:
public class +”类名”{
}
Public class Student{
}这样就创建了一个类
创建对象:
类名+对象名=new +类名();
Student s1 = new Student();
方法的调用:
对象名.方法名
S1.study();
大家可以看看以下代码:加深自己的印象
//定义一个学生类
public class Student{
//定义了名字,学号属性
public String name;
private int num;
//定义了showMsg方法
public void showMsg(){
System.out.println("名字:"+name+" 学号:"+num+" 成绩:"+score);
}
}
//定义主类
public class Test{
public static void main(String args[]){
//根据学生类创建学生对象
Student stu = new Student();
//调用方法
stu.showMsg();
}
}
4. 构造方法的特点与一般方法的区别:
构造方法的特点:
(1)任何一个类都默认有一个无参数的构造方法(构造器,构造函数)
(2)构造方法的作用就是用来创建(生成,构造,实例化)对象
(3)构造方法的名字必须是类名
(4)构造方法不用声明返回值类型,但一定有返回值
(5)构造方法只能通过new关键字来调用
与一般方法的区别:
(1)一般方法的命名不能和类名相同;
(2)一般方法必须要声明是否有返回值;
(3)一般方法的调用只需要对象名.方法名即可;
6.重载的理解:
(1) 构造方法的重载:
a. 保证在创建对象的时候必须设置相应的成员变量的
b. 重载是指在一个类中可以定义多个构造方法,只要每 个构造方法的参数个数或者类型或者顺序不一样就可以重新定义该构造方法;
Public class Student{
Private String name;
Public Student(String name) {
This.name=name;
}
}
(2) 普通方法的重载:
和构造方法重载类似:只要每个方法的参数个数或者类型或者顺序不一样就可以了;
Public class Student {
public void study() {
System.out.println(this.name+"在学习");
}
/**
* 重载的学习方法
* @param hour 学习的时间长度
*/
public void study(int hour){
System.out.println(name+"学习了"+hour+"小时");
}
}
在这里顺道提一下,this关键字的用法,this关键字是在调用方法时,给力this最近的变量赋值,通常是this.变量名=变量名;
7.package和import的用法:
package是java中的包,相当于一个文件夹,在用eclipse编写代码时,要先建立一个包,否则都会被放到一个默认的default包中,不便于后续学
Import的用法:Import+包名+类名;简单的说就是以下代码:
Import study.Student;
至此,本篇博客结束,希望我们一起进步,共创java的明天!