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语言的思想 ...
随机推荐
- js获得浏览器的尺寸
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- iOS 平台开发OpenGL ES程序注意事项
本人最近从Android平台的OpenGL ES开发转到iOS平台的OpenGL ES开发,由于平台不同,所以开发中会有一些区别,再次列出需要注意的几点. 1.首先需要了解iOS主要开发框架,再次仅介 ...
- Visual studio 2013 Team Foundation Server TFS2013 设置签出独占锁
摘自: http://www.cnblogs.com/52XF/p/4239056.html 以备自查 如侵权,请告知
- 学习使用LaTex排版文字输出为pdf(1)
学习用latex写我的简历. 我在ubuntu环境下,先下载所需软件,命令百度就可以. 先创建一个a.tex,写上 \documentclass{article} \usepackage{CJK} \ ...
- 1.2Android系统移植的主要工作
1.Android移植分为两部分:应用移植和系统移植: 2.应用移植:指将第四层的应用程序一直到某一特定硬件平台上. (1)为保证应用程序能在新的平台上正常运行,需要对源代码就行一些修改,因为硬件平台 ...
- Valid Parentheses [LeetCode 20]
1- 问题描述 Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if ...
- java项目编译有误
classpath component
- POJ C++程序设计 编程题#1 大整数的加减乘除
编程题#4:大整数的加减乘除 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 ...
- 软件工程 speedsnail 冲刺4
2015-5-8 完成任务:学习了黑马android教学视频7.8.9集,对布局和计划做了调整: 遇到问题: 问题1 异常 Warning: Activity not started, its cur ...
- PeopleSoft登录流程
1.初始化连接.App Server从配置文件中获得connect ID和user ID进行数据库初始化连接. 2.查询数据库中与安全相关的表信息connect ID被验证以后,AppServer查询 ...