(笔记六)文档注视、单例模式、继承、抽象类、接口、多态
来源:互联网 发布:卡梅隆安东尼体测数据 编辑:程序博客网 时间:2024/05/17 06:16
1.文档注释(★)
使用javadoc工具,对指定类文件生成API帮助文档,javadoc -d myhelp ArrayTool.java,在myhelp下生成。
注释/** */ 针对javadoc
ArrayTool.java
/**
建立一个数组工具类,包括遍历、排序,求最大值等常用函数。
@author 张三
@version 1.0
*/
2.一个文件只能有一个包含public类(★)
一个文件中若出现多个类,只能有一个类是public,否则编译错误。
3.单例模式
a)内存图解,见视频08-05(★★★★)
b)懒汉与饿汉模式
懒汉式,可能涉及多线程操作,使用锁或双重检查,会导致一部分性能的损失。
c)如果类不涉及复杂的初始化,可以创建一个类,把所有的方法和变量都定义为静态的,但它的控制权在JVM,初始化时可能存在不容易发现和次序的bug
4.继承
a)关键字extends
b)super关键字,访问基类的成员
c)子类实例化,内存图解(★★★★)
见视频08-11,08-12
d)子类方法与父类方法同名时,覆盖父类方法,可以不加任何关键字
5.继承与构造函数
a)子类所有的构造函数中,默认隐藏super()的调用,若父类没有无参构造函数,必须指定super参数(★★★★)
b)同this()一样,必须出现在第一句,不能同时出现。(★★★★)
c)实例化,构造函数内存图解见视频09-03(★★★★)
6.final
a)可以修饰类,方法和变量
b)修饰类,不可以被继承
c)修饰方法,不可被子类覆盖
d)修饰变量是一个常量,只能赋值一次,常量名通常大写
7.命名规范(★★★★)
a)类的方法与属性、变量通常小写开头,后面单词首字母大写
b)final 常量名通常大写,多个单词中用下划线连接
8.抽象类
a)可以有构造函数
b)不能与关键字private,static,final共存
9.接口(★★★★★)
a)包括全局常量:public static final
b)抽象方法:public abstract
d)类通过implements实现接口
e)接口可以继承多个接口,类可以先继承类,再实现多个接口
10.多态
a)父类或接口的引用可以指向其子类的对象。
b)弊端:在子类中添加新的功能,抽象和接口不能访问
c)A a=new B(),A同时存在method方法和num成员变量,静态method2
a.method指向B的方法
a.num指向A的num
a.method2指向A的method2
11.instanceof
只用于引用类型的类型判定
使用javadoc工具,对指定类文件生成API帮助文档,javadoc -d myhelp ArrayTool.java,在myhelp下生成。
注释/** */ 针对javadoc
ArrayTool.java
/**
建立一个数组工具类,包括遍历、排序,求最大值等常用函数。
@author 张三
@version 1.0
*/
public class ArrayTool{private ArrayTool(){}/**获取整数数组的最大值@param arr 接受一个int类型的数组@return 返回数组的最大值*/public static int max(int[] arr){int max=arr[0];for(int i=1;i<arr.length;i++){if(max<arr[i]){max=arr[i];}}return max;}}
2.一个文件只能有一个包含public类(★)
一个文件中若出现多个类,只能有一个类是public,否则编译错误。
3.单例模式
a)内存图解,见视频08-05(★★★★)
b)懒汉与饿汉模式
懒汉式,可能涉及多线程操作,使用锁或双重检查,会导致一部分性能的损失。
c)如果类不涉及复杂的初始化,可以创建一个类,把所有的方法和变量都定义为静态的,但它的控制权在JVM,初始化时可能存在不容易发现和次序的bug
4.继承
a)关键字extends
b)super关键字,访问基类的成员
c)子类实例化,内存图解(★★★★)
见视频08-11,08-12
d)子类方法与父类方法同名时,覆盖父类方法,可以不加任何关键字
5.继承与构造函数
a)子类所有的构造函数中,默认隐藏super()的调用,若父类没有无参构造函数,必须指定super参数(★★★★)
b)同this()一样,必须出现在第一句,不能同时出现。(★★★★)
c)实例化,构造函数内存图解见视频09-03(★★★★)
6.final
a)可以修饰类,方法和变量
b)修饰类,不可以被继承
c)修饰方法,不可被子类覆盖
d)修饰变量是一个常量,只能赋值一次,常量名通常大写
7.命名规范(★★★★)
a)类的方法与属性、变量通常小写开头,后面单词首字母大写
b)final 常量名通常大写,多个单词中用下划线连接
8.抽象类
a)可以有构造函数
b)不能与关键字private,static,final共存
9.接口(★★★★★)
a)包括全局常量:public static final
b)抽象方法:public abstract
interface Demo{public static final int NUM=4;public abstract void show();}c)修饰符public,static,final,abstract,都可以省略,会自动添加
d)类通过implements实现接口
e)接口可以继承多个接口,类可以先继承类,再实现多个接口
interface A{}interface B extends A{}class X{}class Y extends X implements A{}
10.多态
a)父类或接口的引用可以指向其子类的对象。
b)弊端:在子类中添加新的功能,抽象和接口不能访问
c)A a=new B(),A同时存在method方法和num成员变量,静态method2
a.method指向B的方法
a.num指向A的num
a.method2指向A的method2
11.instanceof
只用于引用类型的类型判定
- (笔记六)文档注视、单例模式、继承、抽象类、接口、多态
- 抽象 多态 继承 封装 接口 单例
- Java学习笔记(六)--继承 final关键字 多态 抽象类 接口
- java中单继承、接口、抽象类
- java(单例模式、抽象类、接口、内部类)
- java单例模式包抽象类和接口
- 继承、多态、抽象类、接口
- 接口,抽象类,继承,多态
- 继承,抽象类,接口,多态
- 继承、多态、接口、抽象类
- [php学习笔记]工厂模式,单例模式、抽象类
- JAVA基础知识点(六)--接口,多态,继承,抽象类,重载的问题
- 继承、多态、抽象、接口
- 继承,接口,抽象类
- 抽象类 接口 继承
- 抽象类 接口 继承
- 接口抽象类继承
- 接口、继承、抽象类
- Linux CentOS 安装 Apache PHP MYSQL Memcached Memcache 环境配置 并且辅助安装遇见的错误处理(全文搜索
- 我开通博客了!
- 搞ACM的你伤不起
- shell编程: 获得目录下(包括子目录)所有文件名,路径和文件大小
- linux线程
- (笔记六)文档注视、单例模式、继承、抽象类、接口、多态
- C++ string 类 学习
- emacs 使用循序渐进
- POJ 1338 Ugly Numbers
- Linux下Socket编程
- VC++之List Box/Check List Box控件
- 树状数组(模版)
- Console输出时报log4j警告解决办法
- 在asp.net里使用指定的用户运行访问Sharepoint网站的代码