
java编程思想
佛西程序媛
优秀一点,与世无争一点。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
链表总结
直接上代码,有不合理之处希望大伙们提点修改意见:包含了链表的删除,增加,顺序增加,修改,查找倒数第k个元素,递归思想创建链表,递归思想反转链表,非递归思想反转链表,逆序打印链表;package com.housy.linklist;import java.awt.HeadlessException;import java.lang.Thread.State;import java...原创 2020-05-07 19:40:48 · 306 阅读 · 0 评论 -
第十章 内部类
可以将一个类的定义放在另一个类的定义内部,这就是内部类。1、创建内部类public class test1 { class Contents { private int i = 1; public int value() { return i; } }}如果想从外部类的非静态方法之外的任意位置创建某个内部类对象,那么必须具体地指明这个对象的类型:OuterCl...原创 2019-08-01 10:48:35 · 187 阅读 · 0 评论 -
第十一章 持有对象
如果一个程序只包含固定数量的且其生命期都是已知的对象,那么这是一个非常简单的程序。1、泛型和类型安全的容器使用Java SE5之前的容器的一个主要问题就是编译器允许你向容器中插入不正确的类型。 通过使用泛型,就可以在编译期防止将错误类型的对象放置到容器中,使用了泛型后从容器中取出元素不再需要强制转型。向上转型可以适用于泛型。2、基本概念Collection一个独立元素的序列,这...原创 2019-08-01 11:54:36 · 151 阅读 · 0 评论 -
第十一章 练习题
练习一:class Gerbil { int gerbilNumber; public Gerbil(int i) { gerbilNumber = i; } public void hop() { print("Gerbil" + gerbilNumber + "hops"); }}public class Ex11_1 { public static void ...原创 2019-08-01 19:42:06 · 254 阅读 · 0 评论 -
Java泛型中E、T、K、V等的含义
Java泛型中的标记符含义:E- Element (在集合中使用,因为集合中存放的是元素)T- Type(Java 类)K- Key(键)V- Value(值)N- Number(数值类型)?- 表示不确定的java类型S、U、V- 2nd、3rd、4th typesObject跟这些标记符代表的java类型有啥区别呢?Obj...转载 2019-08-06 09:56:34 · 221 阅读 · 0 评论 -
java中的逆变与协变
转:https://blog.youkuaiyun.com/z69183787/article/details/51598345看下面一段代码Number num = new Integer(1);ArrayList<Number> list = new ArrayList<Integer>(); //type mismatchList<? extends ...转载 2019-08-06 20:27:50 · 251 阅读 · 0 评论 -
第十五章 泛型
一般的类和方法,只能使用具体的类型:要么是基本类型,要么是自定义的类,如果要编写可以应用与多种类型的代码,这种刻板的限制对代码的束缚就会很大。1、简单泛型核心概念:告诉编译器想要用什么类型,然后编译器帮你处理一切细节。1.1 一个元组类库下面的程序是一个2维元组,它能够持有两个对象://: net/mindview/util/TwoTuple.javapackage net...原创 2019-08-14 13:17:17 · 264 阅读 · 0 评论 -
第十四章 类型信息
运行时类型信息使得你可以在程序运行时发现和使用类型信息。1、运行时发现和使用类型信息传统RTTI(运行时识别一个对象的类型) 反射 instanceof关键字1.1 为什么需要RTTI基本目的:让代码只操纵对基类的引用;//: typeinfo/Shapes.javaimport java.util.*;abstract class Shape { void dr...原创 2019-08-10 11:17:23 · 204 阅读 · 0 评论 -
向上转型的作用
一、什么是向上转型上转型对象不是父类创建的对象,而是子类对象的“简化”状态,它不关心子类新增的功能,只关心子类继承和重写的功能。当一个类有很多子类时,并且这些子类都重写了父类中的某个方法。当使用上转型对象在调用这个方法时就可能具有多种形态。因为不同的子类在重写父类的方法时可能产生不同的行为。也就是说,不同对象的上转型对象调用同一方法可能产生不同的行为。class Car { ...原创 2019-08-10 17:02:10 · 3926 阅读 · 0 评论 -
Java 泛型,你了解类型擦除吗?
转自:https://blog.youkuaiyun.com/briblue/article/details/76736356很优秀的一篇文章,解决了我的疑问。泛型,一个孤独的守门者。大家可能会有疑问,我为什么叫做泛型是一个守门者。这其实是我个人的看法而已,我的意思是说泛型没有其看起来那么深不可测,它并不神秘与神奇。泛型是 Java 中一个很小巧的概念,但同时也是一个很容易让人迷惑的知识点,它让人...转载 2019-08-12 16:13:05 · 184 阅读 · 0 评论 -
持有引用
再谈持有引用之前,我们需要了解一下可达性分析算法。1、可达性分析算法在java中,我们是通过可达性分析来判断对象是否存活,基本思想是:通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对象到GC Roots没有任何引用链相连,也就是从GC Roots到这个对象不可达时,则证明此对象是不可用的,如...原创 2019-08-17 10:58:09 · 573 阅读 · 0 评论 -
第十七章 容器深入研究
1、完整容器分类法2、填充容器Collections类也有一些实用的static方法,其中包括fill,同Arrays一样只复制同一对象引用来填充整个容器的,并且只对List对象有用,但是所产生的列表可以传递给构造器或addAll方法:class StringAddress { private String s; public StringAddress(String s...原创 2019-08-17 12:24:15 · 278 阅读 · 0 评论 -
第九章 接口
接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。1、抽象类和抽象方法1.1 抽象类 abstract仅有声明,没有方法体,即无大括号以及其内容; 如果一个类包含一个或多个抽象方法,该类必须限定为抽象的; 如果不完整的抽象类试图创建该类的对象时,编译器会报错; 并不需要所有的方法都是抽象的;如果子类继承抽象父类,并不要求一定要重写父类的方法,否则必须重写实...原创 2019-07-31 17:56:39 · 232 阅读 · 0 评论 -
第十三章 字符串
可以证明,字符串操作是计算机程序设计中最常见的行为。1 、不可变StringString对象是不可变的,字符串对象作为方法的参数传递时,实际传递的是引用的一个拷贝.而该引用所指的对象其实一直待在单一的物理位置上,从未动过. 给String对象赋值本质上是改变该String对象引用的指向.2 、重载"+"与StringBuilderString对象是不可变的,你可以给一个String...转载 2019-08-03 18:58:08 · 142 阅读 · 0 评论 -
前期绑定与后期绑定
转自https://www.cnblogs.com/jstarseven/articles/4631586.html仅做笔记参考,学识较浅,不发表愚见。程序绑定的概念:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定;或者叫做前期绑定和后期绑定.静态绑定:在程序执行前方法已经被绑定(也就是说在编译过程中就已经知道这个方法到底是哪个类中的...转载 2019-07-02 15:05:27 · 743 阅读 · 0 评论 -
第一章 疑点问题
可以说是恶补java了,很多原理没有弄清楚。一下是自己参考资料之后的愚见,望各位及时指正。后期会分类整理。1、什么 是超类?超类即父类super作用:在子类中访问父类中的成员(字段方法构造方法)super指向父类对象在子类的构造方法中:super(); 在子类的构造方法中调用父类无参构造方法super(…); 在子类的构造方法中调用父类有参构造方法注意:...原创 2019-07-02 16:04:10 · 265 阅读 · 0 评论 -
第一章 对象导论
1、java语言的五大特性万物皆为对象 程序是对象的集合,他们通过发送消息来告知彼此所要做的 每个对象都有自己的由其他对象所构成的存储 每个对象都拥有其类型 某一特定类型的所有对象都可以接收同样的消息2、类具有相同特性和行为的对象的集合,一个类即是一个数据类型实例化:用类创建对象的过程:Demo demo = new Demo();3、接口是对某一特定对象发出的请...原创 2019-07-02 21:34:21 · 164 阅读 · 0 评论 -
第五章 初始化与清理
1、构造器的作用构造器采用与类名相同的名称,初始化期间自动调用构造器:new Rock()将会为对象分配内存空间,并调用相应的构造器; 构造器有助于减少错误,使代码易于阅读;创建一个类,它包含一个在定义时就被初始化了的String域,以及另一个通过构造器初始化的String域,两种方式有何差异?-> 定义时期的初始化次数为1次 构造器初始化为两次:① 首先编译器发现变...原创 2019-07-08 21:01:14 · 180 阅读 · 0 评论 -
第七章 复用类
1、组合由于新的类是由现有对象所组成,这种现象叫组合;编译器并不是简单地为每一个引用都创建一个默认对象,因此,若像初始化这些引用,可以在代码中的下列位置进行:在定义对象的地方,这意味着他们总是能够在构造器被调用之前初始化; 在类的构造器中; 就在正要使用这些对象之前,即当需要一个实例的时候初始化对象,这种方式成为惰性初始化,在生成对象的情况下,这种方式可以减少额外的负担; 使...原创 2019-07-13 10:51:10 · 162 阅读 · 0 评论 -
第八章 多态
在面向对象的程序设计中,多态是继数据抽象和继承之后的第三种基本特征。1、再论向上转型/** * 基类 */public class Instrument { public void play(Note n) { System.out.println("Instrument play()"); }}/** * 导出类 */public c...原创 2019-07-13 14:09:32 · 134 阅读 · 0 评论 -
第六章 访问权限控制
这一章的知识点没有什么,主要是例题;练习8:效仿实例Lunch.java的形式,创建一个名为ConnectionManager的类,该类管理一个元素为Connection对象的固定数组。客户端程序员不能直接创建Connection对象,而只能通过ConnectionManager中的某个static方法来获取他们。当ConnectionManager之中不再有对象时,它会返回null引用。在m...原创 2019-07-10 11:17:37 · 272 阅读 · 0 评论 -
第二章 一切都是对象
存储位置1、寄存器(最快)2、堆栈(RAM)堆栈指针向下移动,分配新的内存,向上移动,释放内存;3、堆(RAM)通用内存池,存放java所有对象;4、常量存储嵌入式系统中,常量本身会与其他部分分开,在这种情况下,可以存放在ROM;5、非RAM存储如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存在;如:流对象和持久化对象对象的...原创 2019-07-05 19:35:59 · 142 阅读 · 0 评论 -
第三章 操作符
1、基本操作符操作基本类型: + - * / % 操作对象:=、 ==、!= 2、操作符类型算数操作符: + - * / % 自动递增递减:++ -- 关系操作符:false true > < <= >= == != 逻辑操作符:&& || ! 直接常量:L (l) F(f) D(d) ...原创 2019-07-06 21:54:25 · 425 阅读 · 0 评论 -
第四章 控制执行流程
1、true和falseif(true|false)2、if-else3、迭代while do-while for4、Foreachpublic class Test{ public static void main(String[] args) { Random rand = new Random(47); float f[] ...原创 2019-07-06 22:14:58 · 128 阅读 · 0 评论 -
第十二章 通过异常处理错误
java 的基本理念是“结构不佳的代码不能运行”。1、基本异常异常说明使用了附加的关键字throws,后面接一个所有潜在异常类型的列表,方便客户端程序员查看.1.1 异常参数所有表准异常类都有两个构造器:一个是默认构造器,另一个是接受字符串作为参数,以便能把相关信息放入异常对象的构造器: throw new NullPointerException("t = null");...原创 2019-08-02 18:48:11 · 265 阅读 · 0 评论 -
JDK反编译代码
先进入到class文件的目录,再执行:javap -cPrint语法: javap [ options ] class ;options: -help 帮助 -l 输出行和变量的表 -public 只输出public方法和域 -protected 只输出public和protected类和成员 -package 只输出包,public和pro...原创 2019-08-03 09:51:07 · 537 阅读 · 0 评论 -
显式的静态初始化
package nuc.test;class test { test(int t) { System.out.println("test(" + t + ")"); } void f(int t) { System.out.println("f(" + t + ")"); }}class test2 { static test t1; static test t2;...原创 2019-07-07 16:54:21 · 251 阅读 · 0 评论