子父类的构造函数
 在子类的构造函数中,第一行有一个默认的隐式语句: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的更多相关文章

  1. JAVA第09次实验(IO流)

    JAVA第09次实验(IO流) 0.字节流与二进制文件 我的代码 import java.io.DataInputStream; import java.io.DataOutputStream; im ...

  2. 029 01 Android 零基础入门 01 Java基础语法 03 Java运算符 09 逻辑“非”运算符

    029 01 Android 零基础入门 01 Java基础语法 03 Java运算符 09 逻辑"非"运算符 本文知识点:Java中的逻辑"非"运算符 逻辑& ...

  3. Java第09次实验(IO流)-实验报告

    0. 字节流与二进制文件 使用DataOutputStream与FileOutputStream将Student对象写入二进制文件student.data 二进制文件与文本文件的区别 try...ca ...

  4. Java第09次实验(IO流)--实验报告

    0.字节流与二进制文件 我的代码 用DataOutputStream和FileOutputStream将Student对象写入二进制文件student.data package test; impor ...

  5. Java第09次实验(流与文件)

    第一次实验 0. 字节流与二进制文件 1.使用DataOutputStream与FileOutputStream将Student对象写入二进制文件student.data 二进制文件与文本文件的区别 ...

  6. Java设计模式09:单例模式的强化(控制实例个数n)

    1. 单例模式的本质: 控制实例数目(目的节约资源) 2. 单例模式体现的一些思想: (1)延迟装载(Lazy Load):懒汉式 (2)缓存:饿汉式 3. 单例模式的变形使用: 控制使用实例个数为3 ...

  7. GUI编程笔记(java)09:GUI控制文本框只能输入数字字符案例

    1.首先我们看看我的需求,如下: 控制文本框只能输入数字字符   2.源代码: package cn.itcast_07; import java.awt.FlowLayout; import jav ...

  8. Java基础09 类数据与类方法

    链接地址:http://www.cnblogs.com/vamei/archive/2013/03/31/2988622.html 作者:Vamei 出处:http://www.cnblogs.com ...

  9. Java面试09|多线程

    1.假如有Thread1.Thread2.Thread3.Thread4四条线程分别统计C.D.E.F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现? 把相互独立的计算任 ...

  10. [java初探09]__关于java的包装类

    前言 在Java语言的学习过程中,我们逐渐的理解了Java面向对象的思想,与类和对象的应用.但是在基本数据类型的使用上,我们无法将其定义为一个对象,通过使用对象的方法来使用它们,但是Java语言的思想 ...

随机推荐

  1. 【Linux】部署cobbler

    环境Centos 6.3,本地挂载镜像配置本地yum源 yum -y install dhcp httpd xinetd tftp-server http://dl.fedoraproject.org ...

  2. 会"说话"的勒索病毒Cerber

    最近有个案子与勒索病毒有关,证物是个台式机,运行Windows 7 64bit操作系统,委托方是某高科技公司,希望能调查出事发的关键时间点.感染来源及途径.恶意程序文件名等相关信息. 在对证物计算机进 ...

  3. VirtualBox是什么

    VirtualBox 是一款 x86 虚拟机软件.原由德国innotek公司开发,2008年Sun收购了Innotek,而Sun于2010年被Oracle收购,2010年1月21日改 名成 Oracl ...

  4. leetcode 14

    14. Longest Common Prefix Write a function to find the longest common prefix string amongst an array ...

  5. 2.2安装JDK

    在Ubuntu下安装JDK的步骤: (1)首先需要自己安装的Ubuntu系统是多少位的,可以使用命令[getconf LONG_BIT]获取这个信息: (2)在JDK官网下载相应(选取和Linux系统 ...

  6. C++ streambuf用法

    class LogStreamBuf : public std::streambuf { public: // REQUIREMENTS: "len" must be >= ...

  7. Linux下CPU占用率高分析方法

    一般解决方法是通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用1. 通过top命令找到可疑进程PID top - 09:37:18 up 70 days, 16:29 ...

  8. CentOS 6破解Mysql5.5的办法

    首先,你必须要有操作系统的root权限了.要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤.类似于安全模式登录系统,有人建议说是pkill mysql,但是我不建议哈.因为当你执行 ...

  9. Custom Sort Order

    When trying to sort based on values that do not fit the standard ascending and descending sort logic ...

  10. linux 的开机启动脚本顺序

    linux 开机启动脚本顺序 linux 开机启动脚本顺序. 第一步:启动内核 第二步:执行init (配置文件/etc/inittab) 第三步:启动相应的脚本,并且打开终端/etc/init.d  ...