抽象方法和普通方法的区别????
1.抽象方法必须要通过继承才能被实现,然后才能被对象调用;普通方法在定义的同时就已经实现了。
2.抽象方法只需声明,而不需实现某些功能
3.抽象方法必须要被重写 2016/10/11
设计模式:对问题行之有效的解决方法,是一种思想(问题不是运行问题编译问题或者逻辑问题,而是对代码进行优化,使代码运行效率更高
节约内存,提高扩展性)
单例模式:单例模式:解决的是保证一个类在内存中的对象的唯一性 比如:多个程序使用同一个配置信息的对象,这个时候需要保证该对象的唯一性
作用:保证一个类在内存中的对象的唯一性
分类:懒汉模式、饿汉模式 如何保证对象的唯一性:
// 1.不允许其他程序通过new的方式创建对象(私有构造函数)
// 2.在本类中创建本类的对象(实例)(通过new的方式 提供一个本类的实例)
// 3.对外提供一个方法让其他程序可以获取该对象 (定义一个公开的方法,返回值类型是本类)
抽象类:抽象方法的由来:多个对象中都具备相同的功能,但是具体的功能实现不同,那么在抽取过程中,只抽取功能的定义,没有抽取功能的主体(只定义了方法头,没有声明方法体)
那么该方法称为抽象方法,被abstract修饰,含有抽象方法的类叫做抽象类。
抽象类的使用:抽象类一定要被继承使用,被继承后,子类必须重写父类中抽象的方法,如果不能重写全部的抽象方法,
// 那么子类变成抽象类,被abstract修饰,需要被继续继承,直到有一个类重写了全部的抽象方法.
// 抽象类不能创建对象使用,重写了抽象类所有的抽象方法的类可以创建对象使用.
抽象类中的一些注意点:
1.抽象类中有没有构造方法
有,用于给子类对象进行初始化
2.抽象关键字不可以和哪些关键字一起使用
static:因为被static修饰的方法只能被继承,不能重写
final:因为被final修饰的类不能被继承,故也不能被重写
private :因为private修饰的方法不能被继承(子类只能继承父类非私有的属性和行为)
3.抽象类可以没有抽象方法

java的一些总结的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  3. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  4. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  5. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  6. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  7. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  8. Java多线程基础学习(二)

    9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...

  9. Java多线程基础学习(一)

    1. 创建线程    1.1 通过构造函数:public Thread(Runnable target, String name){}  或:public Thread(Runnable target ...

  10. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

随机推荐

  1. json中loads()和dumps()的应用

    import json s = {'name': 'jack'} #将dict转换成strl = json.dumps(s)print(type(l)) #将str转换成dictm = json.lo ...

  2. neutron网络服务

    一.neutron 介绍: 1. Neutron 概述 传统的网络管理方式很大程度上依赖于管理员手工配置和维护各种网络硬件设备:而云环境下的网络已经变得非常复杂,特别是在多租户场景里,用户随时都可能需 ...

  3. April.Util更新之权限

    目录 前言 权限 中间层 小结 前言 在之前已经提到过,公用类库Util已经开源,目的一是为了简化开发的工作量,毕竟有些常规的功能类库重复率还是挺高的,二是为了一起探讨学习软件开发,用的人越多问题也就 ...

  4. Hibernate——简单的增、删、改、查操作

    思路: 1.导入hibernate jar包 2.导入mysql jar包 3.创建数据库 4.创建java实体类 5.编写hibernate.cfg.xml配置文件 6.编写dao类 目录: 数据表 ...

  5. mybati代码生成器 mybatis-generator

    Mybatis代码生成器,用于快速生成代码 代码 https://github.com/wangxinforme/mybatis-generator

  6. HDU 1069 Monkey and Banana (动态规划、上升子序列最大和)

    Monkey and Banana Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  7. sqlserver with(nolock)而mysql 不需nolock

    nolock 是 SQL Server 特有的功能. 例如:对于一个表 A,更新了一行,还没有commit,这时再select * from A 就会死锁.用select * from A(noloc ...

  8. 面试官:new一个对象有哪两个过程?

    Java在new一个对象的时候,会先查看对象所属的类有没有被加载到内存,如果没有的话,就会先通过类的全限定名来加载.加载并初始化类完成后,再进行对象的创建工作. 我们先假设是第一次使用该类,这样的话n ...

  9. 10分钟学会RabbitMQ安装部署

    一.单机版的 RabbitMQ 的安装部署 1.安装 Erlang 环境 wget http://erlang.org/download/otp_src_19.3.tar.gz tar -zxvf o ...

  10. 【7.9校内test】T2 极值问题

    这个题真的,毫无思路的说,但是我们会打表啊: lz的打表之路: 当然是手写一个暴力啦(*^▽^*)! 然后滚去配置lemon测试一下暴力可以得多少分qwq: 是的40分呢! 然后其实看上面也能看出来一 ...