java的一些总结
抽象方法和普通方法的区别????
1.抽象方法必须要通过继承才能被实现,然后才能被对象调用;普通方法在定义的同时就已经实现了。
2.抽象方法只需声明,而不需实现某些功能
3.抽象方法必须要被重写
2016/10/11
设计模式:对问题行之有效的解决方法,是一种思想(问题不是运行问题编译问题或者逻辑问题,而是对代码进行优化,使代码运行效率更高
节约内存,提高扩展性)
单例模式:单例模式:解决的是保证一个类在内存中的对象的唯一性 比如:多个程序使用同一个配置信息的对象,这个时候需要保证该对象的唯一性
作用:保证一个类在内存中的对象的唯一性
分类:懒汉模式、饿汉模式
如何保证对象的唯一性:
// 1.不允许其他程序通过new的方式创建对象(私有构造函数)
// 2.在本类中创建本类的对象(实例)(通过new的方式 提供一个本类的实例)
// 3.对外提供一个方法让其他程序可以获取该对象 (定义一个公开的方法,返回值类型是本类)
抽象类:抽象方法的由来:多个对象中都具备相同的功能,但是具体的功能实现不同,那么在抽取过程中,只抽取功能的定义,没有抽取功能的主体(只定义了方法头,没有声明方法体)
那么该方法称为抽象方法,被abstract修饰,含有抽象方法的类叫做抽象类。
抽象类的使用:抽象类一定要被继承使用,被继承后,子类必须重写父类中抽象的方法,如果不能重写全部的抽象方法,
// 那么子类变成抽象类,被abstract修饰,需要被继续继承,直到有一个类重写了全部的抽象方法.
// 抽象类不能创建对象使用,重写了抽象类所有的抽象方法的类可以创建对象使用.
抽象类中的一些注意点:
1.抽象类中有没有构造方法
有,用于给子类对象进行初始化
2.抽象关键字不可以和哪些关键字一起使用
static:因为被static修饰的方法只能被继承,不能重写
final:因为被final修饰的类不能被继承,故也不能被重写
private :因为private修饰的方法不能被继承(子类只能继承父类非私有的属性和行为)
3.抽象类可以没有抽象方法
java的一些总结的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题
背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...
- Elasticsearch之java的基本操作一
摘要 接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...
- 论:开发者信仰之“天下IT是一家“(Java .NET篇)
比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
- Java多线程基础学习(二)
9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...
- Java多线程基础学习(一)
1. 创建线程 1.1 通过构造函数:public Thread(Runnable target, String name){} 或:public Thread(Runnable target ...
- c#与java的区别
经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...
随机推荐
- 【工具】rinetd 使用教程(linux 下的端口转发工具 )
日期:2019-07-30 20:00:36 更新: 作者:Bay0net 介绍:使用 rinetd 来转发某端口的流量. 0x01. 安装 官网 RINETD 安装方法很简单,一条语句就 OK 了. ...
- Flex TabNavigator
1.获取子项个数 TabNavigator.numChildren(int) 2.对于静态的TabNavigator的如何处理权限显示 for(var i:int=0;i <tab.numChi ...
- java:(九大内置对象,计算服务器访问次数,filter过滤器,MVC框架,MVC和三层架构的关系)
1.九大内置对象: <%@ page language="java" import="java.util.*" pageEncoding="UT ...
- activiti随笔记录
核心组件介绍 关键对象 1. Deployment:流程部署对象,部署一个流程时创建. 2. ProcessDefinitions:流程定义,部署成功后自动创建. 3. ...
- 【转】iptables命令、规则、参数详解
表 (table)包含4个表:4个表的优先级由高到低:raw-->mangle-->nat-->filterraw---RAW表只使用在PREROUTING链和OUTPUT链上 ...
- 干货 | 深入分析 string.intern() 方法
首先我们来看一段代码: public class InternTest { public static void main(String[] args) { String str1 ...
- mapper中通过resultMap自定义查询结果映射
mybatis中使用resultType做自动映射时,要注意字段名和pojo的属性名必须一致,若不一致,则需要给字段起别名,保证别名与属性名一致. 使用resultMap做自定义结果映射,字段名可以不 ...
- python pycharm 注册码
D87IQPUU3Q-eyJsaWNlbnNlSWQiOiJEODdJUVBVVTNRIiwibGljZW5zZWVOYW1lIjoiTnNzIEltIiwiYXNzaWduZWVOYW1lIjoiI ...
- 字符串连连看 (和hihocoder 字符消除类似)
题目描述 对于输入的字符串,从左到右扫描字符串,如果存在由三个以上(包括三个)连续相同字符组成的子串,就将这个子串从原串中去掉,并将原有字符串剩下的部分拼接到一起.重复上述过程,直到无法去掉任何子串 ...
- iconv_open - 分配一个字符集转换的描述符
总览 (SYNOPSIS) #include <iconv.h> iconv_t iconv_open (const char* tocode, const char* fromcode) ...