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-,虽说不是很看重这个,毕竟只是当这个是自己的学习笔记,但有人看,有人评论,有人认同和批评的感觉还是很巴适的,尤其以前有过却又被剥夺的,惨兮兮的. 好好写 ...
随机推荐
- webdriver 获取页面response
在selenium webdriver实现自动化抓取数据过程中,发现无法从webdriver获取页面response 查来查去最终在 stackoverflow 上找到了这一篇文章 文章中说:webd ...
- 时间戳转为C#格式时间
经常发现很多地方使用一个时间戳表示时间.比如: 1370838759 表示 2013年6月10日 12:32:39. 我们就需要一个工具,方便地转换这种时间格式 什么是时间戳? 时间戳, 又叫Unix ...
- mfc 带参数的构造函数
知识点 默认的构造函数 带参数的构造函数 重载构造函数 一.默认的构造函数 二.带参数的构造函数 三.重载构造函数 class Tdate { public: int year;//年 int mon ...
- 洛谷 P1142 轰炸
洛谷 P1142 轰炸 题目描述 “我该怎么办?”飞行员klux向你求助. 事实上,klux面对的是一个很简单的问题,但是他实在太菜了. klux要想轰炸某个区域内的一些地方,它们是位于平面上的一些点 ...
- NOIp2018 pj 滚粗记
NOIp2018 pj 滚粗记 考前 一个午觉睡完就到了考场 考中 \(T1\)水题切了 \(T2\)水题切了 \(T3\)好像是\(dp\),不会,先跳 \(T4\)像树上莫队一样,然后再欧拉序上面 ...
- CSS快速入门-浮动(float)
一.float概述 浮动(float)是CSS布局常用的一个属性.它可以左右移动,直至它的外边缘碰到包含框或另一个浮动框的外边框. float被设计出来的初衷是用于文字环绕效果.如下代码: <! ...
- 浅谈__dict__
类的 __dict__ 先看一个例子: > class A(object): pass > ... > A.__dict__ dict_proxy({'__dict__': < ...
- zabbix3.4 监控路由器报错No Such Instance currently exists at this OID
zabbix 3.4 监控报错No Such Instance currently exists at this OID 1.首先查看监控的路由器的监控项是否报警 监控主机报错出现这个 No Such ...
- 【TestNG测试】TestNG、Maven、testng.xml构建测试工程
创建一个maven工程 使用Idea创建maven工程 建立类似如上的工程结构,src/main/java,src/test/java,pom.xml,testng.xml,这里由于我们使用工程是 ...
- Git使用教程(一)---本地git管理
之前写过不少小demo,因为没有很好的整理,很多demo都找不到了,必要的时候又要重新写这些demo:这是一个很头疼的问题,很烦躁.网上看到git的版本控制以及托管,很nice.开始学习使用git,关 ...