java面向对象知识整理(一)】的更多相关文章

1.面向对象思想 概述:面向对象是相对于面向过程而言的,面向过程强调的是功能,面向对象强调的是将功能封装进对像,强调具备功能的对象. 特点:(1)符合人们思考习惯的一种思想. (2)将复杂的事情简单化. (3)将程序员从执行者变成了指挥者. 特征:(1)封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式. (2)继承:多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可. (3)多态:一个对象在程序不同运行时刻代表的多种状态,即父…
java上课知识整理总结(动手动脑,课后实验) 一,课堂测试 1,题目:课堂测试:像二柱子那样,花二十分钟写一个能自动生成30道小学四则运算题目的 “软件” 要求:(1)题目避免重复: (2)可定制(数量/打印方式): 2,设计思路 1),产生两个1-100的随机数作为题目参与运算的数据,产生一个1-100的随机数并对4求余作为运算符(0:‘+’,1:‘-’,2:‘*’,3:‘/’). 2),用for循环控制出题个数n,用循环变量i对一行出题个数m求余,余数为0换行控制一行中题目的个数. 3),…
JAVA的基础语法等都跟C有很大的相似之处,所以这里就不多啰嗦了.直接从数组开始. 数组: 1.声明 int [] a; 在声明的过程中,并没有分配空间给数组.我们可以在声明的同时,用new来分配相应的空间 int [] a = new int[100]; 这里开辟了一个空间为100大小的数组,内存分配也完成了. 我们可以在声明的同时也确定元素个数 int [] a = new int[]{1,3,5,7,9}; 面向对象(重点) class Human{ int height; void br…
整理了一下前段时间学习Java并发的笔记,大约有40篇. 1. Java并发基础知识 并发基础(一) 线程介绍 并发基础(二) Thread类的API总结 并发基础(三) java线程优先级 并发基础(四) java中线程的状态 并发基础(五) 创建线程的四种方式 并发基础(六) 线程Thread类的start()和run() 并发基础(七) Thread 类的sleep().yeild().join() 并发基础(八) java线程的中断机制 并发基础(九) java线程的终止与中断 并发基础…
java基础入门知识(转载请注明出处.) 1.JVM.JRE和JDK的区别. (1)JVM(Java Virtual Machine):java虚拟机,用于保证java跨平台的特性,java语言是跨平台的,jvm不是跨平台的. (2)JRE(Java RuntimeEnvironment):java的运行环境,包括jvm+java的核心类库. (3)JDK(Java Development Kit):java的开发工具,包括jre+开发工具. 2.环境变量path和classpath的作用. (…
JVM之类加载器(ClassLoader)基本介绍 类加载器用于将class文件加载到JVM中去执行.下面介绍类加载器涉及到的基本概念和加载基本过程. 一.Java虚拟机与程序的生命周期 在运行Java程序时,会启动JVM进程,该进程中会使用一个线程去执行我们的Java程序.在如下几种情况下,Java虚拟机将结束生命周期: 1.执行了System.exit(0)(内部调用了Runtime.getRuntime().exit(n)),如果是非0参数表示异常退出. 2.程序正常结束 3.程序在执行过…
面向对象的三条主线: 一.类及类的成分 1.类与类的关系: java程序是关注于类的设计. 类从代码的角度:并列关系! 从执行.设计的角度:关联关系.继承关系.聚合关系 class A{ } class B{ A  a = new A(); } 2.类的成分:属性   方法  构造器  代码块  内部类 2.1 属性: ①变量的分类:成员变量(属性 Field)vs 局部变量(方法的形参.方法内部.代码块内部) ②数据类型:基本数据类型(8种,不同的数据类型对应不同的默认初始化值vs 引用数据类…
HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题.HashMap的工作原理.ArrayList与Vector的比较以及这个问题是有关Java 集合框架的最经典的问题.Hashtable是个过时的集合类,存在于Java API中很久了.在Java 4中被重写了,实现了Map接口,所以自此以后也成了Java集合框架中的一部分.Hashtable和HashMap在Java面试中相当容易被问到,甚至成为了集合…
java集合类图 HashMap和Hashtable的区别   HashMap HashTable  继承方式 extends AbstractMap implements Map extends Dictionary implements Map 线程安全 否 是(方法都是synchronized修饰) 效率相对比 高 低 允许有null的键和值 是 否 判断包含的方法 containsvalue和containsKey contains hash数组默认大小 11 16 hash数组增加方式…
一, Java中的继承: 1. final关键字(最终的,不可修改的不可变化的,可以修饰类,方法,变量等): 如果final修饰类的话,这个类不可以被继承: 如果修饰方法的话,这个方法不可以被子类覆盖(重写): 如果修饰属性的话,该类的属性不会被自动初始化. final修饰变量的时候只可以被赋值一次.并且在声明的时候就得赋值,可以称其为常量.在其它地方不可以被赋值.(会报错) 2. java中的super:通常用在对象内部,代表父类对象. 调用方法: super.父类方法或者属性. 在子类中通过…
Java开发环境JDK(Java编辑器.Java运行工具(JRE作用).Java文档生成工具.Java打包工具) 1.Java是严格区分大小写的.2.Java程序中一句连续的字符串不能分开在两行书写,   eg:System.out.println("hello         world!");会报错3.使用+=.-=.*=./=.%=运算符进行复制时,强制类型转换自动完成,不需要做显式声明:4.&和|无论如何两边都执行,&&和||执行完左边不符合才执行右边:…
多线程 1. 多线程基础 多线程状态转换图 普通方法介绍 yeild yeild,线程让步.是当前线程执行完后所有线程又统一回到同一起跑线.让自己或者其他线程运行,并不是单纯的让给其他线程. join 等待线程结束:调用线程等待当前线程结束后才能往下执行,阻塞线程之意.join本质是在当前对象实例上调用线程wait() 如下所示:输出完 thread-1后再输出end public static void main(String[] args) throws InterruptedExcepti…
1.首先列两个从别的地方看到的说法: try-catch代码段会产生额外的性能开销,或者换个角度说,它往往会影响JVM对代码进行优化,所以建议仅捕获有必要的代码段,尽量不要一个大的try包住整段的代码:与此同时,利用异常控制代码流程,也不是一个好主意,远比我们通常意义上的条件语句(if/else.switch)要低效. Java每实例化一个Exception,都会对当时的栈进行快照,这是一个相对比较重的操作.如果发生的非常频繁,这个开销可就不能被忽略了. 2.关于这个结论的一些论证…
1.Java设计模式     Java设计模式分为三种类型,分别是:      ①.创建型设计模式:是对对象创建过程的各种问题和解决方案的总结           包括:静态工厂模式.抽象工厂模式.单例模式.构建器模式.原型模式     ②.结构型设计模式:是针对软件设计结构的总结           包括:装饰器模式.适配器模式.代理模式.桥接模式.组合模式.外观模式.享元模式     ③.行为型设计模式:是从类或者对象之间交互.责任划分等角度的总结           包括:策略模式.解释器…
一.前言 注解(也称为元数据)为我们在代码中添加信息提供了一种方法,它在 一定程度上将元数据与源代码文件结合在一起.它是从java 5 开始引入的.通过使用注解,我们可以将元数据保存在Java源代码之中,并利用annotation API为注解构造处理工具. 二.语法 ●从语法的角度来看,注解的使用方式几乎与修饰符的使用一模一样.它的元素看起来就像接口的方法,唯一的区别是你可以为其指定默认值. ●注解包过三种标准注解和四种元注解,以及自定义注解. ★★★标准注解★★★ @Override:方法的…
static 关键字,我们在开发用的还是比较多的.在<Java编程思想>有下面一段话 static 方法就是没有 this 的方法.在 static 方法内部不能调用非静态方法,反过来是可以的.而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用 static 方法.这实际上正是 static 方法的主要用途. static 的用法比较广泛:静态变量.静态成员.静态函数等.我们在使用单列模式的时候,就会用到它.并且 static 数据成员存储在静态存储区,只存储一次,可以节省内存. sta…
最近在网上发现一份非常棒的 PDF 资料,据说是阿里 P8 级高级架构师吐血总结的, 其中内容覆盖很广,包括 Java 核心基础.Java 多线程.高并发.Spring.微服务.Netty 与 RPC.Zookeeper.Kafka.RabbitMQ.Habase.设计模式.负载均衡.分布式缓存.Hadoop.Spark.Storm.云计算等. 获取方式: 关注公众号: [小哈学Java], 后台回复[资源],既可免费无套路获取资源链接,下面是目录以及部分截图: 重要的事情说两遍,关注公众号:…
四种权限修饰符 java有四种权限修饰符:public > protected > (default) > private   public protected default private 同一个类 yes yes yes yes 同一个包(同级) yes yes yes NO 不同包的子类(继承) yes yes NO NO 不同包,非子类(路人) yes NO NO NO Notice:(default) 并不是 default 关键字,而是成员变量 / 方法前什么也不写,例如:…
1. 什么是序列化? 序列化就是只把一个对象串行化成一个字节流,用于网络传输或者持久化. 2. 序列化的使用场景? a). 把内存中的对象持久化到文件或者数据库中: b). 对象在网络上传输. 3. 序列化的实现? 1). 实现Serializable接口: 此方法简单,没有任何需要实现的方法. 笔者从业(web开发)两年一直使用该方法,本文以下主要讲解此方法. 2). 实现Externalizable 接口: Externalizable 是Serializable的子接口 此方法需要实现的方…
写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项目,专注 Java 后端面试题 + 解析 + 重点知识详解 + 精选文章的开源项目,希望它能伴随你我一直进步! 说明:此项目我确实有很用心在做,内容全部是我参考了诸多博主(已注明出处),资料,N本书籍,以及结合自己理解,重新绘图,重新组织语言等等所制.个人之力绵薄,或有不足之处,在所难免,但更新/完…
1.查看已安装jdk文件路径 CMD输入java -verbose.   2.java学习提升路线 java学习视屏地址: http://www.icoolxue.com/album/show/38 https://blog.csdn.net/u012954380/article/details/79568573?st_type=null 各阶段所需要看的书: <Java编程思想>,<大话设计模式>,<重构 改善既有代码的设计>,<effective java&g…
概述 Java和C#都是面向对象语言,面向对象编程是目前高级语言习惯的编程模式,与C++编写过程编程而言,面向对象使用起来高效.灵活:面向对象的三个特征:封装.继承和多态. Java面向对象 1.类封装: 在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的.class 子类 extends 父类{}.implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔). 2.super 与…
概述 公司业务需要,产品既要有.NET又需要Java,没得选择,只能业余时间学习Java,整体觉得Java也.NET还是很相似的,只是语法有差别,差别也不是很大,这就将学习Java的基础知识整理下,以便于自己的学习.作为个.NET程序猿也可以学习Java ,毕竟技多不压身,学习多也要精通. 开发工具 eclipse ,开发java类似.NET 需要装JDK类似.NET Framework. Java开发工具eclipse设置 .设置字体:window设置-Basic: .设置快捷键:window…
近期发现,通过百度脑图可以很好的归纳总结和整理知识点,本着学习和复习的目的,梳理了一下java部分的知识点,不定期更新,若有不恰之处,请指正,谢谢! 脑图链接如下:java部分基础知识整理----百度脑图版…
06天-05-面向对象(帮助文档的制作javadoc):java文档生成命令:javadoc -d filepatn demo.java   -author -version(可选)一个类中默认会有一个空参数的构造函数,这个默认的构造函数的权限和所属类一致默认构造函数的权限是随着的类的变化而变化的. 06天-06-面向对象(静态代码块):静态代码块的特点:随着类的加载而加载,只执行一次,用于给类的初始化.非静态代码块的特点:随着类的实例建立而分配内存空间初始化.构造代码块的特点:随着类的实例而初…
Java学习笔记整理 本文档是我个人整理的,首先是想通过完成本文档更加扎实自己的基础加强对java语言的理解,然后就是想给入了门的同志们做下贡献. 当然,本文档主要是对java语言基础(当然还有很多基础没有涉及到)的进行较全面的理解已经整理,只要充分掌握了基础知识,学习高级部分的知识才会事半功倍犹如轻车熟路一般容易上手. 正文: CLASSPATH的设置:我们知道运行java必须要设置CLASSPATH环境变量,但是sun  java 1.4之后改进了设计,JRE会自动搜索当前路径下的类文件,而…
感悟 很奇怪,我怎么会想着写这么一篇博客——Java语言的学习体系,这不是大学就已经学过的课程嘛.博主系计算机科班毕业,大学的时候没少捧着Java教程来学习,不管是为了学习编程还是为了期末考个高分,都在这门语言的学习上下了不少功夫,得益于之前有C语言的基础,所以那时候并没有想象的吃力,但是因为Java语言是面向对象设计,所以很多时候还是要从C中转换一下思想. 大学的学习还是比较自主和自由,大概就是让自己培养学习的习惯和能力吧,那时候学习Java语言,也是按顺序来捡着学,直到最后才有个比较系统的体…
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 [https://github.com/h2pl/Java-Tutorial](https://github.com/h2pl/Java-Tutorial) 喜欢的话麻烦点下Star.Fork.Watch三连哈,感谢你的支持. 文章首发于我的个人博客: [www.how2playlife.com](https://github.com/h2pl/Java-Tutorial) 本文是微信公众号[Jav…
第一层(基本语法)   第一层心法,主要都是基本语法,程序设计入门,悟性高者十天半月可成,差一点的 3 到 6 个月也说不准.如果有其他开发语言的功底相助,并且有张无忌的悟性与运气,相信第一层只在片刻之间就练成了. 第一层主要包括如下部分(已经列好顺序): Java 基础语法 Java 面向对象 Java 常用类详解 Java 异常机制 Java 集合与数据结构 Java IO Java 多线程 Java 网络编程 Java 注解+反射 23 种设计模式 正则表达式 XML 解析/ JSON 解…
写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项目,专注 Java 后端面试题 + 解析 + 重点知识详解 + 精选文章的开源项目,希望它能伴随你我一直进步! 说明:此项目我确实有很用心在做,内容全部是我参考了诸多博主(已注明出处),资料,N本书籍,以及结合自己理解,重新绘图,重新组织语言等等所制.个人之力绵薄,或有不足之处,在所难免,但更新/完…