JAVA之路(二)
学道酬勤,这是第二次学习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之路(二)的更多相关文章
- Java之路——名词解释(一)
一.开篇 许多人在初接触Java的时候,都会被各种Java的英文缩写名词给弄得头晕脑胀.看一个技术,内容里又会有一堆其他的技术名词,看了半天不知所云.尝试去查一下这些名词的解释,除了非常学术性的解释之 ...
- Java之路——敬JAVA初学者(作者:MoMo)
作为一名大四的毕业生,大学三年过,有得有失.作为一个喜欢编程,喜欢JAVA的人,自学其实是一件美事,很有意思的事.要是能再找个女朋友一起学.嘿嘿,就不枉在大学走了一遭啊! 要离开学校了,还是想留 ...
- Java之路——环境配置与编译运行
本文大纲 一.开篇 二.JDK下载 三.JDK安装 四.环境配置 五.初识Java编译 六.Java与Javac 七.第一个Java程序 八.总结 九.参考资料 一.开篇 通过对之前Java之路的了解 ...
- Java之路 ——初识Eclipse
零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...
- Java之路——初识Eclipse
零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...
- 实战Java虚拟机之二“虚拟机的工作模式”
今天开始实战Java虚拟机之二:“虚拟机的工作模式”. 总计有5个系列 实战Java虚拟机之一“堆溢出处理” 实战Java虚拟机之二“虚拟机的工作模式” 实战Java虚拟机之三“G1的新生代GC” 实 ...
- Java设计模式(二) 工厂方法模式
本文介绍了工厂方法模式的概念,优缺点,实现方式,UML类图,并介绍了工厂方法(未)遵循的OOP原则 原创文章.同步自作者个人博客 http://www.jasongj.com/design_patte ...
- Java 验证码、二维码
Java 验证码.二维码 资源 需要: jelly-core-1.7.0.GA.jar网站: http://lychie.github.io/products.html将下载下来的 jelly ...
- Java入门(二)——果然断更的都是要受惩罚的。。。
断更了一个多月,阅读量立马从100+跌落至10-,虽说不是很看重这个,毕竟只是当这个是自己的学习笔记,但有人看,有人评论,有人认同和批评的感觉还是很巴适的,尤其以前有过却又被剥夺的,惨兮兮的. 好好写 ...
随机推荐
- Why network port is open but no process attached?(为什么端口被打开,但是没有进程号)
When I check my system today, I noticed a weird output from netstat’s output, joseph# sudo netstat - ...
- jQuery学习-设置访问元素样式
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- CF 1114 E. Arithmetic Progression
E. Arithmetic Progression 链接 题意: 交互题. 有一个等差序列,现已打乱顺序,最多询问60次来确定首项和公差.每次可以询问是否有严格大于x的数,和查看一个位置的数. 分析: ...
- maven 打 fatjar
备忘. 1. <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> < ...
- cogs2479 偏序 cdq+树套树
cdq+树状数组套替罪羊树. cdq归并a,树套树解决b,c. 记住平衡树树根不能暴力清零!!! // It is made by XZZ #include<cstdio> #includ ...
- Python之subprocess模块、sys模块
一.subprocess模块 # import os # os.system('tasklist') #类似cmd输入系统命令 ''' subprocess的目的就是启动一个新的进程并且与之通信. s ...
- 菜鸟vimer成长记——第2.2章、visual模式
vi是没有可视模式的.然而大多数编辑软件都都是有可视模式.所以我猜测vim是几乎迫于无奈才有了visual模式. 个人建议,能不用就不用.这样能直接在头脑里处理好文本,锻炼文本处理能力,同时能转变过来 ...
- druid之监控设置及问题小记
druid是什么注不再赘述了.想了解直接参见 https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 本文 ...
- python实现屏保计时器
什么都不说先上图吧,Python 初学者实现屏保计时器 原理:利用 Python turtle 库实现快速画图,每隔一秒钟擦除屏幕,然后获得电脑实时时间,再次画图,呈现动态时间. 关于数字如果画,可以 ...
- 【日常训练】Help Victoria the Wise(Codeforces 99C)
题意与分析 这题意思是这样的:在正方体的六面镶嵌给定颜色的宝石(相同颜色不区分),然后问最多有几种彼此不等价(即各种旋转过后看起来一致)的方案. 其实可以乱搞,因为范围只有720.求出全排列,然后每个 ...