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-,虽说不是很看重这个,毕竟只是当这个是自己的学习笔记,但有人看,有人评论,有人认同和批评的感觉还是很巴适的,尤其以前有过却又被剥夺的,惨兮兮的. 好好写 ...
随机推荐
- 用HTML编写淘宝页面
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...
- 2017-2018-1 20155216 《信息安全系统设计基础》 实现mypwd
2017-2018-1 20155216 <信息安全系统设计基础> 实现mypwd 作业要求: 1.学习pwd命令 2.研究pwd实现需要的系统调用(man -k; grep),写出伪代码 ...
- WPF 播放Flash
原文:WPF 播放Flash WPF中没有直接提供播放Flash的控件. 可以使用WebBrowser来打开,代码如下: <Window x:Class="Nankang.Itacat ...
- 如何查看PostgreSQL的checkpoint 活动
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面:PostgreSQL基础知识与基本操作索引页 回到顶级页面:PostgreSQL索引页 作者:高健@博客园 luckyjackgao@g ...
- Linux下开发python django程序
一.安装django 1.#进入包文件夹下执行解压 tar zxvf Django-1.3.7.tar.gz 2#进入解压的文件夹执行安装 python setup.py install 3#安装成功 ...
- 开发中常遇到的linux系统配置操作整理
一直以来,工作中使用xshell连接linux虚拟机.常常需要在虚拟机中搭建一个新的Linux系统,为了满足操作需要,必不可少的是一系列配置.之前对这些指令都是记录在云笔记,但是零零散散,每次用时,都 ...
- 常见面试算法题JS实现-仅用递归函数和栈操作逆序一个栈
前言: 因为JAVA和JS语言特性的不同,有些东西在JAVA中可能需要一些技巧和手段才能实现的复杂程序,但是在JS中可能就是天然存在的,所以这套书里面的题目不会全部用JS去实现一遍,因为可能JS的实现 ...
- Windows Forms Application Creation and Initialization
Windows Forms Application Creation and Initialization This topic details the steps performed after a ...
- JavaScript——变量与基本数据类型
前言 JavaScript中的变量为松散类型,所谓松散类型就是指当一个变量被申明出来就可以保存任意类型的值,就是不像SQL一样申明某个键值为int就只能保存整型数值,申明varchar只能保存字符串. ...
- Vue实例 中的常用配置项
创建Vue实例时,使用 new Vue ({//配置项}) 或者 组件定义中 export default {//配置项},所有的Vue组件都是Vue实例,并且接受相同的选项对象(一些根实例特有的选项 ...