JAVASE学习笔记:第五章 JAVA面向对象(三)
2015-06-04 15:26
471 查看
什么叫抽象类?如果一个类的某些功能比较抽象或者无法在本类中具体实现,可以将这个类声明为抽象的,那么这些抽象或者无法具体实现的功能可以在子类中完
作用:抽象类不能直接创建对象,可以使用匿名内部类去创建对象,因为构造函数是用private修饰的,主要给子类进行继承的 [修饰符] abstract 类名(){}
好处:可以创建抽象方法 [修饰符] abstract 返回数据类型 方法名(); eg: public abstract void aa();
一个抽象类中可以没有抽象方法,但一个类中如果有抽象方法,那么这个类必须声明为抽象类
什么叫接口?
eg:一个插板,只能插2个口和3个口的插头,起到一个约定的作用
接口的定义:[修饰符] interface 接口名{常量,抽象方法 } //不能存放变量
接口相对继承类的好处:
1、接口可以实现多继承,但是继承类只能继承一个父类
2、类可以实现多个接口
public class 子类 extends 父类 implements 接口1,接口2,接口3.....
什么叫多态?发送消息给某个对象,这个对象自行决定采用哪种行为响应这个消息
多态的条件:1、继承 2、向上转型 3、方法的重写 (4、方法的重载)
什么叫内部类?在一个类中定义了其他的类,这样的类被称为内部类
一、、成员内部类
调用内部类(或用static)
1、先导入内部类的包
2、outclass o=new outclass();
3、 inclass i=o.new inclass();
成员内部类可以使用外部类的所有成员
成员不能使用成员内部类的成员,必须创建内部类对象才能使用
区分内部类和外部类相同成员变量的方法
外部类.this.成员表示外部类成员
this.成员表示内部类成员
二、局部内部类(成员方法内部类)
在方法中的类不能加修饰符,只能在方法里创建对象,可以使用外部方法的所有成员,和局部内部类同一级别的变量不能使用,只能使用常量
三、匿名内部类:一般直接new 接口或者是直接new 抽象类(){}; 大括号里为抽象方法
eg:
public class testNiMClass {
public static void main(String[] args) {
interA f=new interA() {
public void eat() {
System.out.println("吃东西");
}
};
f.eat();
}
}
基本数据类型传递的是值本身,引用类型传递的引用地址
instanceof 判断一个对象是不是属于这个类 应用:向下转型
作业:
1、下载 java api 1.6 1.5 版英文版
2、看第八章的知识
3、验证qq是否合法: 6-15位,必须全为数字,首字母不能为0
4、模拟一个登陆和注册
作用:抽象类不能直接创建对象,可以使用匿名内部类去创建对象,因为构造函数是用private修饰的,主要给子类进行继承的 [修饰符] abstract 类名(){}
好处:可以创建抽象方法 [修饰符] abstract 返回数据类型 方法名(); eg: public abstract void aa();
一个抽象类中可以没有抽象方法,但一个类中如果有抽象方法,那么这个类必须声明为抽象类
什么叫接口?
eg:一个插板,只能插2个口和3个口的插头,起到一个约定的作用
接口的定义:[修饰符] interface 接口名{常量,抽象方法 } //不能存放变量
接口相对继承类的好处:
1、接口可以实现多继承,但是继承类只能继承一个父类
2、类可以实现多个接口
public class 子类 extends 父类 implements 接口1,接口2,接口3.....
什么叫多态?发送消息给某个对象,这个对象自行决定采用哪种行为响应这个消息
多态的条件:1、继承 2、向上转型 3、方法的重写 (4、方法的重载)
什么叫内部类?在一个类中定义了其他的类,这样的类被称为内部类
一、、成员内部类
调用内部类(或用static)
1、先导入内部类的包
2、outclass o=new outclass();
3、 inclass i=o.new inclass();
成员内部类可以使用外部类的所有成员
成员不能使用成员内部类的成员,必须创建内部类对象才能使用
区分内部类和外部类相同成员变量的方法
外部类.this.成员表示外部类成员
this.成员表示内部类成员
二、局部内部类(成员方法内部类)
在方法中的类不能加修饰符,只能在方法里创建对象,可以使用外部方法的所有成员,和局部内部类同一级别的变量不能使用,只能使用常量
三、匿名内部类:一般直接new 接口或者是直接new 抽象类(){}; 大括号里为抽象方法
eg:
public class testNiMClass {
public static void main(String[] args) {
interA f=new interA() {
public void eat() {
System.out.println("吃东西");
}
};
f.eat();
}
}
基本数据类型传递的是值本身,引用类型传递的引用地址
instanceof 判断一个对象是不是属于这个类 应用:向下转型
作业:
1、下载 java api 1.6 1.5 版英文版
2、看第八章的知识
3、验证qq是否合法: 6-15位,必须全为数字,首字母不能为0
4、模拟一个登陆和注册
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统