Java复习-oop】的更多相关文章

我们可理解“纯粹”的面向对象程序设计方法是什么样的:(1) 所有东西都是对象.可将对象想象成一种新型变量:它保存着数据,但可要求它对自身进行操作.理论上讲,可从要解决的问题身上提出所有概念性的组件,然后在程序中将其表达为一个对象.(2) 程序是一大堆对象的组合:通过消息传递,各对象知道自己该做些什么.为了向对象发出请求,需向那 个对象“发送一条消息”.更具体地讲,可将消息想象为一个调用请求,它调用的是从属于目标对象的一个子例程或函数.(3) 每个对象都有自己的存储空间,可容纳其他对象.或者说,通…
Java 复习5面向对象知识 20131004 前言: 前几天整理了C++中的面向对象的知识,学习Java语言,当然最重要的就是面向对象的知识,因为可以说Java是最正宗的面向对象语言,相比C++,更加严格的面向对象的语言.面向对象是JAVA语言最大的特点. 1.基本概念 面向对象在程序中开始指的是采用封装.继承.抽象的设计方法,如今以发展到整个软件行业,如OOA(面向对象分析), OOD(面向对象设计), OOP(面向对象的编程). 面向对象的特点: 对象的唯一性,每一个对象都会有一个唯一的标…
由java 复习003跳转过来的C语言实现版见some-sort-algorithms 快速排序(不稳定 O(n log n)) package vell.bibi.sort_algorithms; import vell.bibi.sort_algorithms.util.vell001; public class QuickSort {     public static int partition(int[] a, int low, int high){         int cup;…
java 复习001 比较随意的记录下我的java复习笔记 ArrayList 内存扩展方法 分配一片更大的内存空间,复制原有的数据到新的内存中,让引用指向新的内存地址 ArrayList在内存不够时默认是扩展为1.5倍 + 1个 ArrayList,LinkedList,Vector 区别 Vector内存扩展和ArrayList一样,不过Vector是默认扩展为2倍 Vector支持线程的同步,因此牺牲了访问性能 ArrayList,Vector都是使用数组实现,插入删除效率低 Linked…
[系列说明]java复习系列适宜有过java学习或C++基础或了解java初步知识的人阅读,目的是为了帮助学习过java但是好久没用已经遗忘了的童鞋快速捡起来.或者教给想快速学习java的童鞋如何应用实践.有意见可以直接留言~ 开个博客园脚踏实地一点一点review~ 学了好多语言:C.C++.C#.java.python 不同语言的存在都有它存在的意义,所以学习一门语言一定要了解它和其他语言的区别在哪,这里C++源于C,所以C不列出来比较,C#下段时间复习补上,python学的不好先不比较 重…
Java的OOP三大特征之一——继承 子类继承父类的特征和行为(属性和方法),使得子类具有父类的各种属性和方法.或子类从父类继承方法,使得子类具有父类相同的行为. 特点:在继承关系中,父类更通用.子类更具体. 在继承关系中.父类和子类需要满足is-a的关系.子类是父类. 表示父类和子类的术语:父类和子类.超类和子类.基类和派生类,他们表示的是同一个意思. 使用继承可以有效实现代码复用,避免重复代码的出现. 当两个类具有相同的特征(属性)和行为(方法)时,可以将相同的部分抽取出来放到一个类中作为父…
Java复习11. 单例编程 1.最简单的写法,那个方式是线程不安全的 public class Singleton {     private static Singleton instance;     private Singleton(){}     public static Singleton getInstance(){          if(instance == null){              instance = new Singleton();         }…
Java 复习9网路编程 20131008 前言: Java语言在网络通信上面的开发要远远领先于其他编程语言,这是Java开发中最重要的应用,可以基于协议的编程,如Socket,URLConnection等等,之后面的Web开发就是Servlet开发还有各种框架等等,基本上都是基于网络编程的.在上大二的时候,自己学习过Java网络编程的知识,现在好像都忘了,再有就是JSP,Servlet等等这些编程的知识也都忘得差不多了,所以这一段时间回忆一下关于网络编程和Web编程的知识. 1.网络通信编程…
Java复习8 多线程知识 20131007 前言: 在Java中本身就是支持多线程程序的,而不是像C++那样,对于多线程的程序,需要调用操作系统的API 接口去实现多线程的程序,而Java是支持多线程的,具有并发性. 在程序中使用多线程意味着我们可以同时处理多项任务,在实际的开发中,尤其是大型的项目,多线程程序是十分重要的. 同时多线程的程序会带来一定的问题,比如数据的同步.资源的访问等等.在服务器端,使用多线程处理用户的请求等等的知识. 1.线程的概念 每一个程序至少运行着一个进程,每一个进…
Java复习10. Servlet编程知识 20131008 前言: 之前在大三下的时候,学习了一个月的JSP和Servlet知识,但是没有什么项目经验,把JSP Web开发学习实录看了前面几张,后面的框架没有学习.这个期间,我掌握的就是把java代码和html代码杂糅在一起的JSP页面,同时还有就是Servlet的简单的知识,创建Servlet返回响应,这里才明白服务器的大概原理,根据客户端的请求URL类型分发到不同的地方.然后处理,之后在使用response返回信息.还有学习一点关于Java…
Java复习6.异常处理 20131005 前言: Java中的异常处理机制是非常强大的,相比C++ 来说,更加系统.但是我们开发人员没有很好的使用这一点.一些小的程序是没有什么问题的,但是对于大型项目来说,异常处理机制十分重要.在Java中我们使用的异常处理,一般就是捕获异常,输出堆栈中的异常信息,就没了,这些方法仅仅适合开发环节,便于我们调试错误,但是对于后期发布上下的话,这些就没有用了,需要我们恢复错误等等,甚至要重新启动. 本章的就学习一段代码,通过它来学习Java中的异常处理机制. C…
Java复习4.Java中的数组声明方式  20131004 1.数组声明和初始化, 数组元素和变量一样,可以在定义的时候i进行初始化.数组元素的初始化工作实在编译阶段完成的,可以减少运行时间. 在初始化数组的时候,使用new 关键字创建数组,他只是一个引用,知道将值赋值给引用,初始化的工作才结束. 三种初始化的方法: int a = new int[9]; int a = new int{1,1,1,1}; int a = {1,1,1,1}; 在Java中的数组赋值不能够直接让一个数组等于另…
Java复习7.输入输出流 20131005 前言: Java中涉及数据的读写,都是基于流的,这一块的知识相当重要,而且在Java中的数据,char字符是16bit的,所以存在字节流和字符流的区别.如果是字符文件的输入输出,使用字符流(以Reader/Writer为抽象基类),而其他的数据是二进制的,需要使用字节流(以InputStream和OutputStream为抽象基类). 其实不止文件,网络数据传输也是输入输出流. 目录 1.字节流和字符流... 2 1.1字节输入流:... 2 1.2…
java 复习总结 命名方法 创建文件的名称应该和类的名称一致,不然会报错. 类采用首字母大写的方式来命名,如果是多个单词的类名,则每个单词首字母都大写,例如:HelloWorld . 方法采用驼峰命名法,即第二个字母开头大写. 通常,一个公司使用它互联网域名的颠倒形式来作为它的包名. 抽象类总结规定 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过.只有抽象类的非抽象子类可以创建对象. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类. 抽象类中的抽象方…
java复习面向对象(二) 1.static关键字 举例图片 静态变量 使用static修饰的成员变量是静态变量 如果一个成员变量使用了关键字static,那么这个变量不属于对象自己,而属于所在的类多个对象共享同一份数据 推荐写法:类.静态变量,该写法可以直接观看出变量是静态变量: 不推荐写法:对象.静态变量 写成对象名.静态变量,javac编译的时候会编译成类.静态变量 静态方法 使用static修饰的成员方法是静态方法 1.静态不能直接访问非静态: 内存中先有静态的内容,后有非静态的内容.类…
今天主要复习下数据结构的东西 树 自平衡二叉查找树 AVL树(高平衡树)(wiki) 特性:任何节点的两个子树的高度最大差别为一 时间复杂度:查找.插入和删除在平均和最坏情况下都是O(log n) 红黑树(对称二叉B树)(wiki) 特性: 节点是红色或黑色 根是黑色 所有叶子都是黑色(叶子是NIL节点) 每个红色节点的两个子节点都是黑色.(从每个叶子到根的所有路径上不能有两个连续的红色节点) 从任一节点到其每个叶子的所有简单路径都包含相同数目的黑色节点. 优势: 从根到叶子的最长的可能路径不多…
一.对象的综述 面向对象编程(OOP)具有多方面的吸引力.对管理人员,它实现了更快和更廉价的开发与维护过程.对分析与设计人员,建模处理变得更加简单,能生成清晰.易于维护的设计方案.对程序员,对象模型显得如此高雅和浅显.此外,面向对象工具以及库的巨大威力使编程成为一项更使人愉悦的任务.每个人都可从中获益,至少表面如此. 所有编程语言的最终目的都是解决企业又或者人在现实生活中所遇到的问题,最初我们的程序可能长这样"11111100001",相信大家都不会陌生,只是大家没这么子去敲过代码.再…
本节复习java常用i/o,输入输出流. 先放上样例代码.方便参考,可以轻松看懂. package re08; import java.io.*; import java.util.Scanner; public class IOTest { public static void main(String[] args) { File file = new File("d:/1.txt"); //File创建 if (file.exists()) { file.delete(); } e…
JAVA异常处理知识点及可运行实例 接着复习java知识点,异常处理是工程中非常重要的. 1.处理异常语句: try{ .... }catch(Exception e){ ..... } finallly{ .... } 2.异常处理中常用3个函数获取信息 e.getMessage(); //输出错误性质 e.toString(); //给出异常类型和性质 e.printStackTrace(); // 指出异常类型.性质.位置 3.自定义异常类 Exception是所有异常类的父类,除了系统的…
String有很多方法,复习一下,把一些很少用的稍微过遍手,加强记忆,方便以后工程上直接使用 (1)length() 返回长度 (2)indexOf() 返回字符串中字符的下标  如:s.indexOf('a')  注意字符串下标从0开始 同理 有 lastIndexOf(). charAt() (3)subString(int beginIndex, int endIndex ) 返回子字符串 (4)trim() 去空格   toLowerCase()全小写 同理 toUpperCase()…
前言: 国庆节的第三天,大家都回家了,一个人在宿舍好无聊.不过这年头与其说是出去玩不如是说出去挤,所以在学校里还是清闲的好.找工作不用担心了,到时候看着你们慢慢忙:插个话题,大学都没有恋爱过,总之各种原因了:大学毕业之后希望可以早点成家立业,不想一个人飘着了,所以看我笔记的人最好的是给我介绍女朋友了,PS非诚勿扰. 开始正题:之前学习了C++的内存管理,对于写程序有很大的帮助.最近在复习Java,虽然Java没有和C++那样复杂的内存操作,但是编写代码的时候还是要关注Java程序的内存管理知识.…
上学期在慧河工作室学习简单过java到面向对象就停止了 现在有事情又要用到java发现全忘了..... 快速复习一下 网课PPT 计算机: 硬件 + 软件 主要硬件: cpu :cpu是一个计算机的运算核心以及控制核心. 内存:存储数据的,软件在运行过程中所需要的数据会先加载到内存 中,然后cpu获取 的数据都是直接从内存中获取, 并不是直接从硬盘中获取的. 优点: 存取速度快. 缺点: 一 旦断电或者是程序退出,内存中的数据会马上丢失. 硬盘(机械硬盘, 固态硬盘): 优点:可以永久性保持数据…
小生快要准备找工作了 现在开始复习一下Java基础之容器 Set和List是一个个往里面存 Map是两个两个往里面装 所谓重复指的是他们互相equals Collection 接口定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式 Set中的数据对象没有顺序并且不可以重复 List中的数据对象有顺序并且可以重复 Map接口定义了健值映射对的存储方法 1.Collection中的方法 例1. package com.hw.Prepare; import java.util.*;…
OOP(面对对象)三大特征之一——多态 What:多态性是指允许不同类的对象对同一消息作出响应,多态性包括参数化多态性和包含多态性,多态性语言具有灵活.抽象.行为共享.代码共享的优势,很好的解决了应用程序函数同名的问题. 多态是OOP中最核心的一个特征.多态是允许程序中出现重名现象. Java语言中含有方法重载与对象多态两种形式的多态. 1>方法重载:在一个类中,允许多个方法使用同一个名字,但方法的参数列表,完成的功能也可以不同. 2>对象多态:子类对象可以与父类对象进行相互转换,而且根据其使…
    前言:终于到分布式篇,前面把JAVA的一些核心知识复习了一遍,也是一个JAVA程序员最基本要掌握的知识点,接下来分布式的知识点算是互联网行业的JAVA程序员必备的技能:     概念:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是谷歌的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护.域名服务.分布式同步.组服务等     关键词:分布式,一致性服务 讲得通俗一点,zookeepe…
Java 中的变量常量数据类型 20131004 前言: 还是国庆节,无聊的很,就没事复习点Java的知识,其实C/C++基本上是现在大型企业面试的语言,但是多学习点Java是没有坏处的,而且,将来工作的话,不可能只会一门C++就不管了,现在的开发工程师都是会使用C++和Java两者都是精通的. 话说国庆节结束之后,有一大群公司来招聘,还很多是IT的,那我是去呢,还是去呢?首先声明,我去的话绝对不是篡你们的,可能是考虑到自己的工作地点吧,我想去工作的地方是成都,至于为什么,就是喜欢了,也说不出来…
Java语言概述 20131003 开头语: 开发领域,重要的编程语言基本都是C/C++,然后就是Java, C/C++就不用说了,另外掌握Java对你是有很大的帮助的,而且也会扩宽你的择业范围.同时很多网络编程.网站后台开发都是使用java 语言实现,此外Android实际上就是Java编程,所以在C/C++复习基本完成之后,复习一下Java,一起来吧! 1.java是一种简单.面向对象.分布式.解释型.健壮安全.可移植.性能优异.多线程的动态语言(在运行期间才将类加载到运行环境中). 相对C…
枚举 枚举就是让某些变量的取值只能是若干固定值中的一个,否则编译器就会报错,枚举可以让编译器在编译阶段就控制程序的值,这一点是普通变量无法实现的.枚举是作为一种特殊的类存在的,使用的是enum关键字修饰 枚举常量 枚举常量默认都是使用static final修饰的,所以语法建议使用大写,一个枚举类在第一次被实例化的时候,这些常量就会被创建,这些常量都是枚举类子类的对象 public enum WeekDay{ //每一个枚举的元素(枚举常量)就是一个枚举类子类的对象,是使用static fina…
前言 打算下学期开学,也就是九月份,去找实习,现在还有三个月时间.(然而还在天天玩 Python..) 定个复习计划. 1. 基础 并发:Java并发编程实战 [ x ] SQL:MySQL,看看书,上 LeetCode 刷刷题. 设计模式:学一学常见的八九个就行. 必须要掌握的工具: [ x ] git: git 一段时间没复习,感觉很多东西都记不太清了.. [ x ] 项目构建: gradle, 另外 maven 也要会复制粘贴.. Junit: 要记得写测试,人不能太懒啊 日志:slf4j…
现在公司用的是封装太多东西的平台开发,觉着之前学的东西很多都忘了,所以想好好总结回顾一下.之前总是想学很多编程语言像python.s6.node.react,但现在越来越体会到编程语言只是一个开发的工具,只要能实现业务需求,将语言的优势最大化的利用不就好了嘛~~~当然,了解其他语言也不是坏事.之前很少写sql现在天天数据库查数据,写sql,其实什么都是贵在坚持,希望这次自己可以坚持下去,认真从java se一直复习到框架和相关组件~~~~~不要再自己打自己的脸~~~~~Going Go ! !…