![](https://img-blog.csdnimg.cn/20191115191714972.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java——不简单的基础
首先,我有些基础,但是实战能力缺乏,这个专栏将用来记录自己在Java系统学习过程中的心得和自己缺失的知识点。记录的过程不强求知识的前后,只要遇到不会的和重要的知识点都总结在这里。
laiyibeijiweijiu
废话少说,纯干货。
展开
-
28-内部类
1 内部类格式public class 类名{ 修饰符 class 类名{ }}2 内部类访问特点内部类可以直接访问外部类的成员,包括私有;外部类要访问内部类的成员,必须创建对象。public class OutClass { private int num = 10; public class InnerClass{ public...原创 2019-11-29 23:59:20 · 69 阅读 · 0 评论 -
27-引用类型变量作为参数和返回值
1 参数传递1.1 类名作为形参和返回值1.2 抽象类作为形参和返回值1.3 接口名作为形参和返回值原创 2019-11-29 21:00:32 · 193 阅读 · 0 评论 -
26-抽象类
介绍抽象类,abstract和final、static、private关键字的冲突原创 2019-11-28 19:33:09 · 68 阅读 · 0 评论 -
25-final类和不可变类
final修饰类简单,但是不可变类却有含金量哦!!!文章主要介绍如何自行设计不可变类,以及不可变类的用途。原创 2019-11-28 15:53:30 · 210 阅读 · 0 评论 -
24-final方法
final 修饰方法final修饰的方法不可以被重写,例如,如果不希望子类重写父类方法,则可以用final关键字修饰父类方法。举例:Object类中的getClass()方法就不希望被子类重写,用final修饰。final和privatefinal修饰的方法不能被重写,但可以重载。注意final和private的优先级,如下图示:...原创 2019-11-27 19:48:24 · 109 阅读 · 0 评论 -
23-final变量执行“宏替换”
final变量等价于直接量和final变量当做“宏变量”原创 2019-11-27 18:33:33 · 106 阅读 · 0 评论 -
22-final修饰符之修饰变量
final关键字对变量的修饰!!!原创 2019-11-25 00:18:19 · 231 阅读 · 0 评论 -
21-单例类(Singleton)
单例类,在实际开发中也有重要应用。此文章从原理、基本实现、实现方法、面试常见问题展开了描述!!!原创 2019-11-24 21:01:26 · 1431 阅读 · 0 评论 -
20-类成员
类成员和实例成员的区别也是java中一个关键知识点原创 2019-11-24 02:01:37 · 105 阅读 · 0 评论 -
19-常量池、===、equals
判断变量相等的全面理解。主要涉及到“==”、equals、常量池。原创 2019-11-24 01:13:52 · 106 阅读 · 0 评论 -
18-toString
toString()看似简单,但大有学问,用处大!!!原创 2019-11-23 18:05:08 · 414 阅读 · 2 评论 -
17-包装类
包装类的出现1、java是面向对象的编程语言,但它也包含了8种基本数据类型,这8种基本数据类型不支持面向对象的编程机制。基本数据类型的数据也不具备“对象”的特性(没有成员变量、方法可以被调用)...原创 2019-11-22 16:14:06 · 150 阅读 · 1 评论 -
16-初始化块
初始化块1 初始化块格式[修饰符] { // 初始化块可执行代码... }注意:1、修饰符无的时候称为普通代码块,修饰符为static时称为静态初始块;2、一个类中虽然可以定义多个初始化块,但是没啥意义,因为初始化块是隐式调用的,且全部执行,所以放在一个初始化块就足够啦。2 初始化块和构造器子类构造器向上找,普通\静态初始化块向上找。3 静态初始化块和普通初始化块...原创 2019-11-22 11:40:49 · 92 阅读 · 0 评论 -
16-利用组合实现复用
组合和继承的区别与联系继承:继承表达的是一种“是(is-a)”的关系”;例如:狼是动物、羊也是动物。自合:组合表达的是一种“有(has-a)”的关系”。例如:人有胳膊、有腿。...原创 2019-11-22 10:52:13 · 133 阅读 · 0 评论 -
12-继承
使用继承的关键点为了保证父类有良好的封装性,不会被子类随意改变,设计父类通常应该遵循如下规则:尽量隐藏父类的内部数据。尽量把父类的所有成员变量都设置成private访问类型,不要让子类直接访问父类的成员变量。不要让子类可以随意访问、修改父类的方法。父类中那些仅为辅助其它的工具方法,应该使用private访问控制符修饰,让子类无法访问该方法;如果父类中的方法需要被外部类调用,则必须使用pub...原创 2019-11-21 22:10:45 · 96 阅读 · 0 评论 -
15-多态
多态(Polymorphism)说在前边:引用变量有两个类型:一个是编译时类型,一个是运行时类型。1、编译时类型:编译时类型由声明该变量时使用的类型决定。2、运行时类型:运行时类型由实际赋给该变量的对象决定。多态的出现:多态的出现: 如果编译时类型和运行时类型不一致,就可能出现所谓的多态。重要一段话: 当把一个子类变量直接赋值给父类引用变量时,例如Fu04 ployNa...原创 2019-11-21 20:20:26 · 105 阅读 · 0 评论 -
10-方法-抽象方法
抽象方法抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束;抽象类:抽象方法所在的类必须是抽象类才行,在class之前加上abstract即可。如何使用抽象类和抽象方法:1、不能直接创建new抽象类对象2、必须用一个子类来继承抽象父类3、这个子类必须覆盖重写抽象父类当中所有的抽象方法.除非子类也是抽象类。覆盖重写:就是实现,去掉抽象方法的abstract关键字...原创 2019-11-21 11:47:26 · 195 阅读 · 0 评论 -
14-this-super
this-super关键字联系区别1、this是在同一类中使用,super在子类和父类之间使用;2、this和super必须都是方法中的第一行代码;3、this在本类中实例方法之间的调用(可以省略);未完待续…...原创 2019-11-21 11:11:28 · 78 阅读 · 0 评论 -
12-重写
重写子类包含于父类同名的方法的现象被称为方法重写( override),也被称为方法覆盖。可以说子类重写了父类的方法,也可以说子类覆盖了父类的方法。方法重写的规则–“两同两小一大”两同:方法名相同,形参列表相同;两小:子类方法的返回值类型应比父类方法返回值类型更大或相等,子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等;一大:指的是子类方法的访问权限应比父类方法的访问...原创 2019-11-21 00:00:04 · 177 阅读 · 0 评论 -
13-封装
理解封装封装(Encapsulation)是面向对象的三大特征之一,它指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。修饰符private(当前类访问权限):default(包访问权限):protected(子类访问权限):public(公共访问权限):注意: 如果一个java源文件里定义的所有...原创 2019-11-19 10:20:55 · 94 阅读 · 0 评论 -
10-方法-参数
方法方法在逻辑上要么属于类要么属于对象。1方法的参数传递机制 Java中,方法的传参机制只有一种:值传递。(所谓值传递,就是将实际参数的副本传递传入方法中,而参数本身不会受到任何影响。)2形参个数可变的方法public class Fu2 { public static void main(String[] args) { method1(1,"人工智能...原创 2019-11-18 17:33:08 · 118 阅读 · 0 评论 -
11-for循环的多种实现
1 for循环常规操作 int[] arr = new int[]{1,2,3,4,5}; // for循环常规操作 for (int i = 0; i < arr.length; i++) { System.out.println(arr [i]); }2 for循环简便方式 // for循环简便方式 for(String i:...原创 2019-11-18 17:30:39 · 183 阅读 · 0 评论 -
09- this和static
对象this—staticthis作用根据this出现的位置不同,this作为对象的默认引用有两种情形:> 1、在方法中,引用调用该方法的对象。this关键字最重要的作用就是让类中一个非静态方法访问该类中另一个非静态方法或实例变量。注意:1、这里强调“非静态”的原因是虽然在实例方法中可以用this调用静态方法,但是开发中对静态方法调用的调用几乎都用类,而不用this,所以...原创 2019-11-18 10:30:38 · 66 阅读 · 0 评论 -
08-类
类的定义[修饰符] class 类名{ // 零个或多个成员变量定义 // 零个或多个方法 // 零个或多个构造器}1成员变量[修饰符] 类型 成员变量名 [=默认值] 1、[修饰符]:可省略也可是public、protected、private、static、final, 其中前三个只能有一个,可以与static和final组合使用; 2、类型:所有基础类型和引用类型;...原创 2019-11-17 20:48:44 · 72 阅读 · 0 评论 -
07-数组
数组初始化的三种方式:1、先声明,后赋值int [] arr = new int[2];arr[0] = 1;arr[1] = 2;注意: 此方式在声明的时候会给数组赋值一些默认值:代码描述如下:public static void method2(){ byte[] byteArr = new byte[2]; short[] shortArr...原创 2019-11-17 17:13:42 · 89 阅读 · 0 评论 -
06-switch-case中的坑
switch-case格式:switch(表达式){ case 常量值1: 语句体1; break; case 常量值2: 语句体2; break; ... case 常量值n: 语句体n; break; default: 语句体n+1; break;}注意事项:1、多个case后的数字不能重复;2、小括号内表达式允许的数据类型只有: ...原创 2019-11-17 15:14:07 · 199 阅读 · 0 评论 -
05-&和&&的区别
&和&&的区别& :按位与,位运算符。& :既可以操作布尔型也可以操作数值型(按位运算进行操作)。&&:逻辑与,逻辑运算符。&&:只能操作布尔型变量;...原创 2019-11-17 13:01:18 · 142 阅读 · 0 评论 -
04-自增自减
前++ 后++1、单独使用: 前++和后++没有任何区别,++num和num++是完全一样的。2、混合使用: A、如果是【前++】那么变量【立刻+1】然后拿着结果进行使用。【先加后用】 B、如果是【后++】那么先使用变量本来数值然后再让变量+1。 【先用后加】 简单代码:public class Demo06Operator{ public static voi...原创 2019-11-17 11:22:29 · 115 阅读 · 0 评论 -
03-易忘的数据类型转换
数据类型字节字节是计算机中最小的存储单元;计算机存储任何数据都以字节形式存储;8个bit(二进制位)0000-0000表示为1个字节,写成1byte或者1B;8 bit = 1 B1024 B = 1 KB1024 KB = 1 MB1024 MB = 1 GB1024 TB = 1 TB自动类型转换小范围类型转换到大范围类型自动转换。byte、short、char在发生...原创 2019-11-15 23:58:20 · 80 阅读 · 0 评论 -
02-方法的参数和返回值
方法的参数和返回值 public static int method(int a){ int result = a+b; return result; }见图之意原创 2019-11-15 22:29:09 · 105 阅读 · 0 评论 -
01-Java环境基本要素和Java特性
Java语言开发环境搭建Java环境基本要素JDK(Java Development Kit):是Java程序开发工具包,包含JRE和开发人员使用的工具包。JRE(Java Runtime Enviroment):是Java程序运行时环境,包含JVM和运行所需要的核心类库。JVM(Java Virtual Machine):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是...原创 2019-11-13 23:36:06 · 113 阅读 · 0 评论