1. 继承含义

在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类,这种方式称为继承(inheritance).

2. 继承的优点

A.代码的可重用性

B.子类可以扩展父类的属性和方法

C.父类的属性和方法可用于子类

D.设计应用程序变得更加简单

3. 如何判断类具有继承关系?

类与类的关系:  a. has—a(组合关系)

b. is—a(继承关系)

4. Java中继承的实现(关键字:extends)

  关键字extends出现在类声明时的类名后,extends后面跟着的是要继承的类的名称。例如:public class Salary extends Emp{

}

5. 继承具有单根性和传递性

6. 所有类的根类Object(基类,超类)

public class Emp extends Object{

}

Object类中的方法签名:

A.public final Class getClass( )

B.public int hashCode( )该方法返回对象的哈希值码。

C.public boolean equals(Object x)该方法可以检测两个对象是否相等。

D.protected Object clone() throws CloneNotSupportedException

E.public String toString()该方法返回对象的字符串表示。

F.protected void finalize() throws Throwable:该方法在对象将要被垃圾回收时调用。

G.public final void wait() throws InterruptedException:线程

H.public final void notify():线程

7. 方法重写(方法重写出现在子类中,子类重写父类的方法,构造方法不能被继承)

A.方法重写含义:子类可以重写从父类继承的方法,从而允许子类添加或者改变父类中方法的行为。

B.子类重写父类需遵循的规则:

a. 子类的方法的方法名,返回值类型,参数列表都必须与父类中的相同。

b. 子类的访问修饰符必须不小于父类中的访问修饰符。(子类中的访问修饰不能比父类中的更严格)

c. 子类中重写的异常不能抛出比父类更多的异常。

8. super关键字

A.子类用关键字super来调用父类中重写的方法(super指代的是父类对象)

B.使用super调用父类的构造器,如果构造器没有使用super关键字,那么编译器会自动添加一个无参的super()来调用父类构造器

9. final关键字

a.final变量不能被改变

b.final类不能被继承

c.final方法不能再被重写

10. 访问修饰符 

本类

同一包中不同类

不同包

子类

public

Y

Y

Y

Y

protected

Y

Y

Y

default(不写)

Y

Y

private

Y

11. 封装

A.含义:封装是使类中的成员变量都是private,并提供public方法访问这些成员变量的技术。

B.封装使用getter,setter,

例如:public int getId(){

}

public void setId(int id){

this.id = id;

}

C.封装优点:

a.类的成员变量可以成为只读或只写

b.类可以对存储在其它成员变量中的内容有一个整体的控制

c类的用户不需要知道类是如何存储数据的

12. 静态成员:用static修饰的成员,static可以被共享,访问静态成员要使用 类名. 。静态方法不能访问非静态成员。

13. 静态初始化块:

例如:public class Rad{

static {

//静态代码块出现在构造器之前

}

}

14. 非静态(成员代码块)(实例化初始块):

例如:public class Rad{

{

//实例化初始块

}

}

实例化初始块中的语句在任何父类构造器调用之后,在子类构造器调用之前执行。

15. 内部类:在类的内部定义的类,内部类所在的类类称为外部类。

A.内部类的特点 :

  1. 独立的class文件
  2. 同样需要编译
  3. 同样可以产生对象

B.静态内部类:

定义方法: class Outer{

static class Inner{

//静态内部类不能访问到外部的成员,除非外部成员也是静态成员

}

}

静态内部类创建对象:a.用外部类. b.导入内部类所在的包 c.用全限定名

C.成员内部类:

定义方法:class Outer{

class Inner{

//成员内部类可以访问到外部的成员

}

}

成员内部类创建对象:Outer outer = new Outer();

Outer.Inner inner = outer.new Inner();

D.局部内部类:只能在方法内部中使用

定义方法:class Outer{

Void fd(){

class Inner{

//局部内部类

}

}

new Inner().fd();

}

E.匿名内部类:没有名字

形式定义:new 类或接口的名字(){

//匿名内部类的主体

}

Java中继承,类的高级概念的知识点的更多相关文章

  1. java中枚举类到高级使用

    参考博文: http://blog.csdn.net/qq_31655965/article/details/55049192 http://www.cnblogs.com/zhaoyanjun/p/ ...

  2. 关于对象的行为、数组、继承和类的高级概念(Java)

    1.对象的行为:                   (1)方法调用栈:所有的方法调用都维护在一个称为调用栈的结构中. 第一个被调用的方法就是main(),该方法是Jvm调用的,因此main()方法总 ...

  3. java中继承thread类的其他类的start()方法与run()方法

    java中继承thread或者实现runnable接口的类必须重写run()方法. 如果其执行了start()方法,其实就是启动了线程的run()方法. 注意:如果是实现runnable接口的类是没有 ...

  4. java面向对象编程——第八章 类的高级概念

    8.1访问修饰符: public:该类或非该类均可访问: private: 只有该类可以访问: protected:该类及其子类的成员可以访问,同一个包中的类也可以访问: 默认:相同数据包中的类可以访 ...

  5. 基础知识(05) -- Java中的类

    Java中的类 1.类的概念 2.类中的封装 3.对象的三大特征 4.对象状态 5.类与类之间的关系 ------------------------------------------------- ...

  6. [转]Java中继承、多态、重载和重写介绍

    什么是多态?它的实现机制是什么呢?重载和重写的区别在那里?这就是这一次我们要回顾的四个十分重要的概念:继承.多态.重载和重写. 继承(inheritance) 简单的说,继承就是在一个现有类型的基础上 ...

  7. 【JAVA零基础入门系列】Day11 Java中的类和对象

    今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...

  8. 细说java中的类

    前言 最近在学习<java编程思想> 学到了内部类 类不就是class吗 天天用 还能讲出花来了不成... 其实不然,在java中,类的种类和使用方式多种多样,花样繁多.其中主要有 普通类 ...

  9. Java中的类反射

    一.反射的概念 : 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力.这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序 ...

随机推荐

  1. JS——筋斗云案例

    需求: 1.鼠标移动到哪里,云彩移动到哪里 2.鼠标离开,云彩回到原点 3.鼠标离开,云彩回到之前点击的地方 <!DOCTYPE html> <html lang="en& ...

  2. git生成ssh key及本地解决多个ssh key的问题

    git生成ssh key及本地解决多个ssh key的问题 ssh是一种网络协议,用于计算机之间的加密登录.ssh原理及应用可参考: SSH原理与运用(一):远程登录 生成ssh key步骤 这里以配 ...

  3. Lazarus Reading XML- with TXMLDocument and TXPathVariable

    也就是使用XPath的方式,具体语法规则查看http://www.w3school.com.cn/xpath/xpath_syntax.asp,说明得相当详细.这里列举例子是说明在Lazarus/FP ...

  4. 吐得了,vue的多选组合框回显必须是字符串集合

    下面这个typeIdList,如果给他赋值,就能回显到页面,但是必须是字符串的集合,如果是数值类型的id,不好意思,请转成字符串

  5. CDR服装设计-用CorelDRAW排钻如何把圈摆均匀

    服装设计一直都是一个很火热的行业,也是一个比较高端的行业,随着时代的步伐,以前的人都是用手绘的方式来设计服装,现在不一样了,电脑可以说普及到了每一个家庭,让软件以更快的速度,更准确的数据来设计服装中的 ...

  6. JavaFX桌面应用开发-Button(按钮)与事件

    1:Button样式的操作原始代码: package application; import javafx.application.Application;import javafx.scene.Gr ...

  7. 【解题报告】 洛谷 P3492 [POI2009]TAB-Arrays

    [解题报告] 洛谷 P3492 [POI2009]TAB-Arrays 这题是我随机跳题的时候跳到的.写完这道题之后,顺便看了一下题解,发现只有一篇题解,所以就在这里顺便写一个解题报告了. 首先当然是 ...

  8. [加强版] Codeforces 835D Palindromic characteristics (回文自动机、DP)

    题目链接: https://codeforces.com/contest/835/problem/D 题意: 一个回文串是\(1\)-回文的,如果一个回文串的左半部分和右半部分一样且都是\(k\)-回 ...

  9. 【[Offer收割]编程练习赛 14 A】小Hi和小Ho的礼物

    [题目链接]:http://hihocoder.com/problemset/problem/1505 [题意] [题解] 考虑Meet in the middle. 因为两个数的和不是很大; 直接用 ...

  10. ansible common modules

    ##Some common modules[cloud modules] [clustering modules] [command modules]command - executes a comm ...