抽象方法和普通方法的区别????
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. RTX数据表分析

    /******************************************* * UserName 做主键 **************************************** ...

  2. LeetCode.914-一副牌中的X(X of a Kind in a Deck of Cards)

    这是悦乐书的第352次更新,第377篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第214题(顺位题号是914).在一副牌中,每张牌上都写有一个整数. 当且仅当您可以选择 ...

  3. mysql注入常用函数

    system_user()  系统函数名 user()   用户名 current_user()   当前用户名 session_user()    连接数据库的用户名 database()   数据 ...

  4. 【OpenCV开发】OpenCV:使用VideoCapture类进行视频读取和显示

    原文来自:http://blog.csdn.net/thefutureisour/article/details/7530344 -------------以下为原文---------------这次 ...

  5. css样式,媒体查询,垂直居中,js对象

    下面是一些截图,有关查询效率,css样式,媒体查询,垂直居中,js基本类型.  

  6. ajax的post请求crsftoken提交

  7. 直线的Bresenham算法

    在实验课上用自己的算法画直线被diss效率低 花了半天时间看了下Bresenham算法真

  8. 滑雪(dp或记忆化搜索)

    题意:给你一个二维数组,求最长的递减路线的长度,只能向四个方向延伸. 解法1.dp[i][j]以i.j结尾的最长路线长度.边界:每个数初值为1, 转移:从四周向i.j转移,if(a[i][j]> ...

  9. centos7下安装phpmyadmin

    安装环境 在同一台主机上部署LAMP Linux( CentOS 7.3 ) .Apache(httpd2.4).MariaDB(5.5).PHP(7.2) 主机IP:192.168.137.200 ...

  10. numpy-tile 数组复制

    tile(A, reps):把数组A复制成新数组 # 把 矩阵 看做一个整体,第二个参数代表把 矩阵 复制 m*n 次 b = np.arange(1, 5).reshape(2, 2) print( ...