java学习之路--零碎的知识笔记
java运算符:
自增自减运算符:
int b = ++a; 拆分运算过程为: a=a+1=4; b=a=4, 最后结果为b=4,a=4 前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。
int d = --c; 拆分运算过程为: c=c-1=2; d=c=2, 最后结果为d=2,c=2 后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算 。
逻辑运算符:假设布尔变量A为真,B为假
- && 与逻辑运算符 当两个变量同时为真时,条件为真 A&&B 假
- || 或逻辑运算符 当两个变量任何一个为真时,条件为真 A||B 真
- ! 非逻辑运算符 反转变量状态的逻辑状态,如果条件为真,加上非运算符,条件为假 !(A&&B) 真
java StringBuffer和StringBuilder类:
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。StringBuilder 和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。
super 与 this 关键字
- super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。
- this关键字:指向自己的引用。
java抽象类和抽象方法
抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。
由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。
父类包含了子类集合的常见的方法,但是由于父类本身是抽象的,所以不能使用这些方法。
在Java中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口。
如果你想设计这样一个类,该类包含一个特别的成员方法,该方法的具体实现由它的子类确定,那么你可以在父类中声明该方法为抽象方法。Abstract关键字同样可以用来声明抽象方法,抽象方法只包含一个方法名,而没有方法体。
声明抽象方法会造成以下两个后果
①:如果一个类包含抽象方法,那么该类必须是抽象类。
- ②:任何子类必须重写父类的抽象方法,或者声明自身为抽象类。
- ③:继承抽象方法的子类必须重写该方法。否则,该子类也必须声明为抽象类。最终,必须有子类实现该抽象方法,否则,从最初的父类到最终的子类都不能用来实例化对象。
- 总结
1. 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。
2. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
3. 抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。
4. 构造方法,类方法(用static修饰的方法)不能声明为抽象方法。
5. 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。
java 接口:
- 接口是一个抽象类型,是抽象方法的集合,一个类通过实现接口的方式,来实现接口的抽象方法。
- 接口和类很相似,类中包含属性和方法,而接口中则包含要实现的方法。
- 出发实现接口的类是抽象类,否则要实现接口中的所有方法。
- 接口无法被实例化,但是可以被实现,一个实现接口的类必须实现接口中的所有方法,否则必须被声明为抽象类。
- 接口与类的区别
- ①一个接口和类都可以包含多个方法
- ②接口不能用于实例化
- ③接口没有构造方法
- ④接口中所有的方法必须是抽象方法
- ⑤接口不能被继承,可以被实现
- ⑥接口支持多继承
- 接口和抽象类的区别
- ①抽象类的方法可以有方法体,接口中没有方法体
- ②抽象类中的成员变量可以是各种类型的,而接口中的成员变量只public static final 类型的。
- ③接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
- ④一个类只能继承一个抽象类,而一个类却可以实现多个接口。
- 接口的实现
- 当类实现接口的时候,必须实现接口中的所有方法,否则该类只能声明为抽象类。
- 类使用implements关键字实现接口。在类声明中,Implements关键字放在class声明后面。
java学习之路--零碎的知识笔记的更多相关文章
- 新篇章之我的java学习之路下
昨天写下了人生的第一篇博客,今天接着写我的java学习之路有关开发及框架的学习过程. 想要学好java语言,只学习一些java的基本语法对实际开发中的用处还是不大的,所以我们还要掌握一些有关javaW ...
- java学习之路之javaSE基础1
<h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用 ...
- Java学习之路(转)
Java学习之路(书籍推荐) 一.基础类 1.<Thinking in java>(阅读2遍),入门第一位是建立正确的概念 2.<Core Java>这本书更贴近实践,更多 ...
- java学习之路之javaSE基础2
java学习之路之javaSE基础2 所有的代码都是引用他人写的. 1.逻辑运算符 //&,|,^,! //int x = 10; //5 < x < 15 //x > 5 ...
- JAVA学习之路与大家分享
这是我四年以前总结的JAVA学习之路,希望对初学者或想从事JAVA开发的人有帮助. 本人是软件工程专业出身,先后学过C.C++.JAVA.VB.delphi等等开发语言以及网络相关管理技术.哎,好久不 ...
- Java学习需要掌握的一些知识
Java学习需要掌握的一些知识: <一>1.Jvm 部分Jvm 内存模型.Jvm 内存结构.Jvm 参数调优.Java 垃圾回收<二>Java 基础部分1.必须会使用 List ...
- Java 学习之路 -- day00
Java 学习之路 -- day00 Typora 快捷键操作 标题:#+空格 2. *斜体* 3. **加粗** 4. **斜体加粗*** 5. ~~删除线~~ 6. > 引用 7. ···分 ...
- (转)如何学习Java技术?谈Java学习之路
51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领 ...
- Java学习之路:不走弯路,就是捷径
1.如何学习程序设计? JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用.有编程高手认为,JAVA也好C也好没什么分别,拿来就用.为 ...
随机推荐
- I2C通信基本原理及其实现
I2C是一种总线式结构,它只需要SCL时钟信号线与SDA数据线,两根线就能将连接与总线上的设备实现数据通信,由于它的简便的构造设计,于是成为一种较为常用的通信方式. 由于I2C采用的是主从式通信方式, ...
- sublime text3输出窗口中文显示乱码问题解决方案
1 前言 略 2 方案 修改Python3.sublime-build内容为 { "cmd": ["C:/Users/Administrator/AppData/Loca ...
- 移动端rem与px适应js
方法一: (function (doc, win) { var docEl = doc.documentElement, resizeEvt = "orientationchange&quo ...
- layUI弹出框提示
简单介绍:项目使用layUI框架好久了,也没来的及写一篇关于layUI弹出层的随笔.现在补上.经常用到的,一般都是在ajax成功回调函数后边写. //js代码 s和fail 是ajax返回的数据lay ...
- 单点登录前戏(未使用jwt版本)
建表 from django.db import models import jwt # Create your models here. # 角色表 class RoleTable(models.M ...
- mysql5.7初始化密码报错 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before
mysql初始化密码常见报错问题1,mysql5.6是密码为空直接进入数据库的,但是mysql5.7就需要初始密码 cat /var/log/mysqld.log | grep password1 2 ...
- css居中,margin_and_position
首先父元素肯定是要相对定位的,其次我们上下左右居中的元素的css如下: width: 50px; height: 50px; margin: auto; position: absolute; lef ...
- idea 版本控制 忽略要提交的文件
- SpringBoot主程序注解@SpringBootApplication简单分析
一.@SpringBootApplication说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用: @SpringBootA ...
- [Union]C++中Union学习笔记
C++ union结构式一种特殊的类.它能够包含访问权限.成员变量.成员函数(可以包含构造函数和析构函数).它不能包含虚函数和静态数据变量.它也不能被用作其他类的基类,它本身也不能有从某个基类派生而来 ...