文档章节

java5

芥末小弟
 芥末小弟
发布于 2017/03/01 09:54
字数 1328
阅读 0
收藏 0
点赞 0
评论 0
1:final关键字(掌握)
	(1)是最终的意思,可以修饰类,方法,变量。
	(2)特点:
		A:它修饰的类,不能被继承。
		B:它修饰的方法,不能被重写。
		C:它修饰的变量,是一个常量。
	(3)面试相关:
		A:局部变量
			a:基本类型 值不能发生改变
			b:引用类型 地址值不能发生改变,但是对象的内容是可以改变的
		B:初始化时机
			a:只能初始化一次。
			b:常见的给值
				定义的时候。(推荐)
				构造方法中。
	
2:多态(掌握)
	(1)同一个对象在不同时刻体现出来的不同状态。
	(2)多态的前提:
		A:有继承或者实现关系。
		B:有方法重写。
		C:有父类或者父接口引用指向子类对象。
		
		多态的分类:
			a:具体类多态
				class Fu {}
				class Zi extends Fu {}
				
				Fu f = new Zi();
			b:抽象类多态
				abstract class Fu {}
				class Zi extends Fu {}
				
				Fu f = new Zi();
			c:接口多态
				interface Fu {}
				class Zi implements Fu {}
				
				Fu f = new Zi();
	(3)多态中的成员访问特点
		A:成员变量
			编译看左边,运行看左边
		B:构造方法
			子类的构造都会默认访问父类构造
		C:成员方法
			编译看左边,运行看右边
		D:静态方法
			编译看左边,运行看左边
			
		为什么?
			因为成员方法有重写。
	(4)多态的好处:
		A:提高代码的维护性(继承体现)
		B:提高代码的扩展性(多态体现)
	(5)多态的弊端:
		父不能使用子的特有功能。
		
		现象:
			子可以当作父使用,父不能当作子使用。
	(6)多态中的转型
		A:向上转型
			从子到父
		B:向下转型
			从父到子
	(7)孔子装爹的案例帮助大家理解多态
	(8)多态的练习
		A:猫狗案例
		B:老师和学生案例

3:抽象类(掌握)
	(1)把多个共性的东西提取到一个类中,这是继承的做法。
	   但是呢,这多个共性的东西,在有些时候,方法声明一样,但是方法体。
	   也就是说,方法声明一样,但是每个具体的对象在具体实现的时候内容不一样。
	   所以,我们在定义这些共性的方法的时候,就不能给出具体的方法体。
	   而一个没有具体的方法体的方法是抽象的方法。
	   在一个类中如果有抽象方法,该类必须定义为抽象类。
	(2)抽象类的特点
		A:抽象类和抽象方法必须用关键字abstract修饰
		B:抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类
		C:抽象类不能实例化
		D:抽象类的子类
			a:是一个抽象类。
			b:是一个具体类。这个类必须重写抽象类中的所有抽象方法。
	(3)抽象类的成员特点:
		A:成员变量
			有变量,有常量
		B:构造方法
			有构造方法
		C:成员方法
			有抽象,有非抽象
	(4)抽象类的练习
		A:猫狗案例练习
		B:老师案例练习
		C:学生案例练习
		D:员工案例练习
	(5)抽象类的几个小问题
		A:抽象类有构造方法,不能实例化,那么构造方法有什么用?
			用于子类访问父类数据的初始化
		B:一个类如果没有抽象方法,却定义为了抽象类,有什么用?
			为了不让创建对象
		C:abstract不能和哪些关键字共存
			a:final	冲突
			b:private 冲突
			c:static 无意义

4:接口(掌握)
	(1)回顾猫狗案例,它们仅仅提供一些基本功能。
	   比如:猫钻火圈,狗跳高等功能,不是动物本身就具备的,
	   是在后面的培养中训练出来的,这种额外的功能,java提供了接口表示。
	(2)接口的特点:
		A:接口用关键字interface修饰
			interface 接口名 {}
		B:类实现接口用implements修饰
			class 类名 implements 接口名 {}
		C:接口不能实例化
		D:接口的实现类
			a:是一个抽象类。
			b:是一个具体类,这个类必须重写接口中的所有抽象方法。
	(3)接口的成员特点:
		A:成员变量
			只能是常量
			默认修饰符:public static final
		B:构造方法
			没有构造方法
		C:成员方法
			只能是抽象的
			默认修饰符:public abstract
	(4)类与类,类与接口,接口与接口
		A:类与类
			继承关系,只能单继承,可以多层继承
		B:类与接口
			实现关系,可以单实现,也可以多实现。
			还可以在继承一个类的同时,实现多个接口
		C:接口与接口
			继承关系,可以单继承,也可以多继承
	(5)抽象类和接口的区别(自己补齐)?
		A:成员区别
			抽象类:
			接口:
		B:关系区别:
			类与类:
			类与接口:
			接口与接口:
		C:设计理念不同
			抽象类:is a,抽象类中定义的是共性功能。
			接口:like a,接口中定义的是扩展功能。
	(6)练习:
		A:猫狗案例,加入跳高功能
		B:老师和学生案例,加入抽烟功能0

 

© 著作权归作者所有

共有 人打赏支持
芥末小弟
粉丝 0
博文 202
码字总数 120715
作品 0
昌平
Java线程:新特征-线程池

Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线...

scau_JD ⋅ 2014/06/13 ⋅ 0

4 种 HashMap 中对象遍历的方法

使用 Java 5 的 foreach 进行迭代和循环 HashMap loans = new HashMap();loans.put("name", "oschina");loans.put("url", "http://www.oschina.net/"); for (String key : loans.keySet()) ......

红薯 ⋅ 2012/03/16 ⋅ 3

AIX Java 下载列表

http://www.ibm.com/developerworks/java/jdk/aix/service.html Where to get SDK base image and JRE Java 6 32-bit Java 6 64-bit Java 5 32-bit Java 5 64-bit Java 1.4.2 32-bit Java 1.......

ys-l ⋅ 2010/02/04 ⋅ 0

Java多线程-新特性-线程池

Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线...

凯文加内特 ⋅ 2015/03/11 ⋅ 0

JAVA线程10 - 新特性:原子量

一、原子量简介 原子量就是操作变量的操作是“原子的”,该操作不可再分,因此是线程安全的。 原子量虽然可以保证单个变量在某一个操作过程的安全,但无法保证你整个代码块,或者整个程序的安...

小米米儿小 ⋅ 2014/03/04 ⋅ 0

配置Android源码编译环境所需包

Ubuntu Linux (32-bit x86) $ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zl......

晨曦之光 ⋅ 2012/03/05 ⋅ 0

Java中如何实现单例模式

Java中,单例模式通常有2种分类饿汉模式和懒汉模式。 饿汉模式指的是单例实例在类装载时就被创建了。 懒汉方式值的是单例实例在首次使用时才被创建。 无论是饿汉模式还是懒汉模式,都是用了一...

cnn237111 ⋅ 2015/05/01 ⋅ 0

Java8中的简易并发

Java8中的简易并发 分享到: 5 本文由 ImportNew - kingviker 翻译自 jaxenter。欢迎加入Java小组。转载请参见文章末尾的要求。 有人曾经说过(很抱歉,我们找不到原句了): 初级程序员认为...

longbadx ⋅ 2014/06/03 ⋅ 0

Encrypting Properties With Jasypt

Properties are used in many Java applications as a simple way of separating parts that are likely to change, from the parts that are not that likely to change. Consider for exam......

山哥 ⋅ 2012/04/06 ⋅ 0

TinyUML的网友评论

TinyUML是一个能够帮助你快速和轻松地绘制UML2图的开源工具。采用Java5开发。

红薯 ⋅ 2009/12/11 ⋅ 2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

说说javascript中的那些专业名词

DOM(Document Object Model) 文档对象模型 BOM(Browser Object Model) 浏览器对象模型 ECMA(European Computer Manufacturer's Association) 欧洲计算机制造商协会 W3C(World Wide Web Conso......

hang1989 ⋅ 30分钟前 ⋅ 0

Bootstrap Wizard 多步表单控件

废话 有一块需求是 有多步表单 点击下一步时触发验证一个范围内的表单,点击上一步或取消,清空表单并返回第一步,点击最后一步提交整个表单的 就找到了这个插件,本来自己写了一个原生的 fo...

无极之岚 ⋅ 46分钟前 ⋅ 0

如何利用Spring Cloud构建起自我修复型分布式系统

利用Netflix所打造的组件及各类大家熟知的工具,我们完全可以顺利应对由微服务以及分布式计算所带来的技术挑战。 在过去一年当中,微服务已经成为软件架构领域一个炙手可热的新名词,而且我们...

harries ⋅ 今天 ⋅ 0

临近实习前的感想

再过两星期就要开始新的一段实习了,想想去年的这个时候也在实习,心中不免思绪万千,也一直想写对2017做个总结,但一直迟迟没有下笔。 2017年的春节,我就开始准备开学后找份实习。那时候就...

无精疯 ⋅ 今天 ⋅ 0

Spring AOP(面向切面编程)

Spring AOP概念: Spring AOP 可以劫持一个执行的方法,在方法执行之前或之后添加额外的功能。通常情况下,AOP把项目中需要在多处用到的功能,比如日志、安全和事物等集中到一个类中处理,而...

霍淇滨 ⋅ 今天 ⋅ 0

人工智能、机器学习、数据挖掘以及数据分析有什么联系?

人工智能是目前炙手可热的一个领域,所有的互联网公司以及各路大迦们纷纷表态人工智能将是下一个时代的革命性技术,可与互联网、移动互联网时代的变更相媲美;AlphaGo在围棋领域战胜人类最顶...

董黎明 ⋅ 今天 ⋅ 0

使用 vue-cli 搭建项目

vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https://github.com/vuejs/vue-cli 一、 安装 node.js 首先需要安装node环境,可以直接到中...

初学者的优化 ⋅ 今天 ⋅ 0

设计模式 之 享元模式

设计模式 之 享元模式 定义 使用共享技术来有效地支持大量细粒度对象的复用 关键点:防止类多次创建,造成内存溢出; 使用享元模式来将内部状态与外部状态进行分离,在循环创建对象的环境下,...

GMarshal ⋅ 今天 ⋅ 0

SpringBoot集成Druid的最简单的小示例

参考网页 https://blog.csdn.net/king_is_everyone/article/details/53098350 建立maven工程 Pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM......

karma123 ⋅ 今天 ⋅ 0

Java虚拟机基本结构的简单记忆

Java堆:一般是放置实例化的对象的地方,堆分新生代和老年代空间,不断未被回收的对象越老,被放入老年代空间。分配最大堆空间:-Xmx 分配初始堆空间:-Xms,分配新生代空间:-Xmn,新生代的大小一...

算法之名 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部