Java Day 09
子父类的构造函数
在子类的构造函数中,第一行有一个默认的隐式语句:super()
子类的实例化过程:子类中所有的构造函数默认都会访问父类中的空参数的构造函数。
为什么子类实例化的时候要访问父类中的构造函数呢?
子类实例化细节
构造器 显示初始化什么时候完成
默认初始化 父类构造器 显示初始化
Person p = new Person();
1、JVM读取.class文件,并加载进内存
2、堆内存开辟空间,
3、对对象属性进行默认初始化
4、调用构造函数进行初始化
5、在构造函数中,调用父类构造函数并初始化
6、对子类的属性进行显示初始化
7、对子类构造函数的特定初始化
8、初始化完毕,将值赋给引用变量
final关键字
类 方法 变量
修饰的类 不可以被继承
修饰的方法 不可以被覆盖
修饰的变量 只能赋值一次 变量名全部大写
抽象类
abstract 方法以“;”结尾
特点
1、方法只有声明,没有实现,需要使用abstract修饰,同时类也要被abstract 修饰
2、抽象类不可以被实例化。
3、继承的子类必须覆盖所有父类的抽象方法,才能被实例化。否者
细节
1、抽象类有构造函数吗 有,用于给子类对象进行初始化
2、抽象类可以不定义抽象方法吗 可以 目的是不让该类不创建对象。例:AWT的适配器对象就是这种类
3、抽象关键字不可以和哪些关键字共存 private、static、final
4、抽象类和一般类的异同点 都是用来描述事物;
不同:描述事物的信息全和不全;有没有抽象方法;可不可以被实例化
5、抽象类一定是一个父类么?
是 需要子类覆盖其抽象方法
接口
它里面的方法全是抽象方法,关键是interface;
1、常见的成员 全局常量、抽象方法,都有固定的修饰符,不写自动添加
public static final
public abstract
接口的成员都是公共的权限
实现 implements
接口不能实例化
多实现
细节
避免了单继承的局限性
接口之间可以多继承,方法体是否重载
特点
多实现、降低耦合、功能扩展
接口与抽象类的区别
相同点:都是抽取的概念
不同点:
1、抽象是继承关系,单继承
接口是实现关系,多实现
2、抽象类是is a 关系
接口是 like a 关系
3、抽象类中可以定义非抽象方法
接口的方法全是抽象方法,且有固定的修饰符
Java Day 09的更多相关文章
- JAVA第09次实验(IO流)
JAVA第09次实验(IO流) 0.字节流与二进制文件 我的代码 import java.io.DataInputStream; import java.io.DataOutputStream; im ...
- 029 01 Android 零基础入门 01 Java基础语法 03 Java运算符 09 逻辑“非”运算符
029 01 Android 零基础入门 01 Java基础语法 03 Java运算符 09 逻辑"非"运算符 本文知识点:Java中的逻辑"非"运算符 逻辑& ...
- Java第09次实验(IO流)-实验报告
0. 字节流与二进制文件 使用DataOutputStream与FileOutputStream将Student对象写入二进制文件student.data 二进制文件与文本文件的区别 try...ca ...
- Java第09次实验(IO流)--实验报告
0.字节流与二进制文件 我的代码 用DataOutputStream和FileOutputStream将Student对象写入二进制文件student.data package test; impor ...
- Java第09次实验(流与文件)
第一次实验 0. 字节流与二进制文件 1.使用DataOutputStream与FileOutputStream将Student对象写入二进制文件student.data 二进制文件与文本文件的区别 ...
- Java设计模式09:单例模式的强化(控制实例个数n)
1. 单例模式的本质: 控制实例数目(目的节约资源) 2. 单例模式体现的一些思想: (1)延迟装载(Lazy Load):懒汉式 (2)缓存:饿汉式 3. 单例模式的变形使用: 控制使用实例个数为3 ...
- GUI编程笔记(java)09:GUI控制文本框只能输入数字字符案例
1.首先我们看看我的需求,如下: 控制文本框只能输入数字字符 2.源代码: package cn.itcast_07; import java.awt.FlowLayout; import jav ...
- Java基础09 类数据与类方法
链接地址:http://www.cnblogs.com/vamei/archive/2013/03/31/2988622.html 作者:Vamei 出处:http://www.cnblogs.com ...
- Java面试09|多线程
1.假如有Thread1.Thread2.Thread3.Thread4四条线程分别统计C.D.E.F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现? 把相互独立的计算任 ...
- [java初探09]__关于java的包装类
前言 在Java语言的学习过程中,我们逐渐的理解了Java面向对象的思想,与类和对象的应用.但是在基本数据类型的使用上,我们无法将其定义为一个对象,通过使用对象的方法来使用它们,但是Java语言的思想 ...
随机推荐
- SVN 忽略获取和提交obj、bin文件夹
一.全局设置的方式(貌似不行) SVN忽略文件夹刚开始用的是这种方式: Settings => Subversion里的Global ignore pattern增加这两项*/bin */obj ...
- jQuery插件开发方式
一.jQuery扩展 1.$.extend(object) 类似于.Net的扩展方法,用于扩展jQuery.然后就可以用$.的方式调用. $(function(){ $.extend({ fun1: ...
- golang初体验
使用golang开发已经有一个多月了,除了一开始遇到的各种小白问题,IDE的选择,gopath,goroot的配置...后边还算顺风顺水的.实践体验,golang真的适合快速开发.特别是后台开发,直接 ...
- python os模块sys模块常用方法
官方文档看这里 https://docs.python.org/3.5/library/os.html http://www.cnblogs.com/wupeiqi/articles/5501365. ...
- 用绝对路径引用JS、CSS
项目中,最好使用绝对路径引用JS和CSS文件,详情如下: 1.vm文件中: <link rel="stylesheet" href="$!{request.cont ...
- javaSE第十四天
第十四天 92 1. 正则表达式(理解) 92 (1)定义: 92 (2)常见规则 92 A:字符 92 B:字符类 93 C:预定义字符类 93 D:边界匹 ...
- javaSE第四天
第四天 18 1. switch语句(掌握) 18 (1)格式: 18 (2)面试题 19 (3)执行流程: 19 (4)注意事项: 19 (5)案例: 19 ...
- python简单的发送邮件
python 利用smtplib来发送邮件,具体的代码如下 一. 编辑smtp_v2.py vim /home/python/smtp_v2.py #!/usr/bin/env python # -* ...
- JavaScript API 设计原则
网+线下沙龙 | 移动APP模式创新:给你一个做APP的理由>> 好的 API 设计:在自描述的同时,达到抽象的目标. 设计良好的 API ,开发者可以快速上手,没必要经常抱着手册和文档, ...
- CentOS 6.4安装Kangle面板
kangle web server一键安装包是一个用Linux Shell编写的可以为CentOS 6 VPS(VDS)或独立主机安装kangle web server(kangle,easypane ...