学道酬勤,这是第二次学习JAVA,感觉如醍醐灌顶一样,理解很多思想和道理。
本博只是自己对JAVA的一些理解,具体定义以及用法百科里有。
我为什么在博客园内记录自己的学习过程呢,因为我想有人知道我在学它,从而对我形成一种督促,让我不能轻易言弃。
简单的对JAVA做一下总结:
1:什么是面向对象编程,它就是一种编程思想。
通过把事物抽象成具有属性和行为的实体来清晰编程的层次感,通过修饰符、规范判断来保护程序的安全,通过继承简化代码量。(还未复习到多态就先不总结这一点)
面向对象编程即为,事物抽象为实体(基础)——>封装(安全)——>继承(简洁).
2:构造方法的含义:
构造方法就是类实例化对象的一种途径,通过new关键字在堆内开辟一个空间,构造出一个实例对象。
PS:构造代码块——一个类中通常需要将构造方法重载,这个时候运用构造代码块可以简洁代码。它的作用就是将块内的代码在调用构造方法内部代码前加到构造代码中
举个例子:
{
System.out.println("我是构造代码块");
}
public std(){
System.out.println("我是构造函数一");
}
public std(String name,int age){
System.out.println("我是构造函数二");
}
当调用构造方法std()或者std(String name,int age)时,编译器就会将构造代码块的内容放入构造方法内
如:
public std(){
System.out.println("我是构造代码块");
System.out.println("我是构造函数一");
}
PPS:子类初始化时,无论子类调用本身的构造函数是否有参,它默认先调用的都是父类的无参构造函数,可见,一个类的无参构造方法多么重要。
3:static关键字
静态static,我理解的是,它的作用是使对象或者方法成为公共对象或者公共方法。就是在内存中开辟一块公共区域,每一个通过类实例化的对象都可以访问到静态变量或者静态方法。
静态变量是跟类相关联的,类的所有实例共同拥有一个静态变量,访问的时候用类名.静态变量名或者类名.静态方法名来访问。
什么时候会用到静态变量呢,举个例子,count变量,用于计量。静态方法不能调用实例变量,只能调用静态变量。同时,它也不能调用this,它不属于任何一个实例。
static代码块,最先加载,可以用于静态变量的初始化。
4:this和super
super是子类调用父类成员属性时才会用到的关键字。子类初始化时,会默认调用父类的无参构造方法,即使子类初始化调用的是有参构造方法,它调用的依旧是父类中的无参构造方法。
this就代指实例对象本身,可以通过this,调用构造方法this(),或者调用成员属性this.变量名;this.方法();
super和this不能同时调用
5:封装
封装就是提高程序的安全性和规范性。在编程时,要清楚四种修饰符private、默认、protect、public的作用范围和意义。他们的限制性是逐渐减弱的。
除了修饰符,还有,当用户输入非法数据时要拒绝输入。举个例子,在set方法中,限制年龄范围
PS:这里要特别注意,各种命名的规范性
6:所有类都直接或间接的继承于object类,子类经常会重写它的equal方法和toString方法。当某一个类用final关键字修饰后,其是最终类,不可继承。若是修饰变量,它就不可改变,变成了个常量。如何记忆final关键字,final(最终的).
我保存了很多有用的资料:
1:java命名规范
2:package和import的使用
3:this关键字的用法
4:单一职责原则
5:封装
6:封装综合案例
7:关于javadoc命令的教辅
8:继承上、下
9:面向对象
10:单利模式
链接:https://pan.baidu.com/s/12EJ8fDzm-HidOgxkKedlWw 密码:91hr
有兴趣的同学可以下载了解一下,并且欢迎同学来指正不足。稍后会更新一篇关于JAVA文件输入输出,命令行运行脚本等的博文,便于大家完成作业。