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语言的思想 ...
随机推荐
- C\C++ 框架和库整理(转)
[本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm]留作存档 下次造轮子前先看看现有的轮子吧 值得学习的C语 ...
- css的#和.的区别
css的#和.的区别, css的#和.的区别 2009-03-04 14:43fyws 分类:Html/Css | 浏览 1911 次 css的#和.的区别如:#home #h3 { padding ...
- MySQL语法
sql(structure query language)结构化查询语言ansi iso/iec组织制定ddl(data definition language) 数据定义语言dml(manipula ...
- C#反射动态调用dll中的方法
//加载程序集(dll文件地址),使用Assembly类 Assembly assembly = Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirec ...
- HTML中Meta标签大全
在网页的HTML源代码中一个重要的代码“”(即通常所说的META标签).META标签用来描述一个HTML网页文档的属性,例如作者.日期和时间.网页描述.关键词.页面刷新等. 1.META标签的keyw ...
- float:left居中对齐
<div class="M1180"><div class="services"> <div class="serv_c ...
- AppSetting ,connectionStrings配置节
<appSettings> <!-- 当前使用的学校代码 --> <add key="DefaultCompanyID" value="cs ...
- habse的CopyTable
需求:对hbase的一张表进行拷贝 一.table1的内容如下 hbase(main)::> scan 'table1' ROW COLUMN+CELL column=f1:age, times ...
- getComputedStyle(and currentStyle)
1.getComputedStyle 1.1 用法: currentStyle获取计算后的样式,也叫当前样式.最终样式.优点:可以获取元素的最终样式,包括浏览器的默认值,而不像style只能获取行间样 ...
- nginx的rewrite,gzip,反向代理学习笔记
rewrite模块名:ngx_http_rewrite_module默认自动被编译 指令:rewrite regex replacement [flag] regex :正则表达式,用于匹配用户请求的 ...