文档章节

Java语言基础(5)

Bug-Killer
 Bug-Killer
发布于 2016/04/11 00:28
字数 1244
阅读 55
收藏 3

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

一,抽象类

    1,抽象类,抽象就是将拥有共同方法和属性的对象提取出来,提取后,重新设计一个更加通用,更加大众化的类,就叫抽象类。

    ①抽象类可以修饰类和方法,即抽象类和抽象方法。

    ②抽象类可以有具体方法,但是一个类要是有一个抽象方法,则这个类必须是抽象类,即必须用abstract修饰。

    ③抽象类可以被继承,子类必须实现抽象类中的所有抽象方法,否则子类也是抽象类。抽象类也可以主动继承实体类。

    ④抽象类不能被实例化,即不能用new生成实例。

    ⑤抽象类可以实现接口中的方法。

    ⑥抽象类可以不定义抽象方法,即这样类就不能建立对象。

二,接口

    interface 差不多 == abstarct class

    1)接口,是继承体系之外的,用于功能扩展,想扩展就实现,不想扩展就不实现。

    2)接口中只能声明抽象方法和常量,且声明格式是固定的。只不过可以省略。

interface Runner{
    /*public abstract final*/ int a = 100 ;//声明常量
    /*public abstract*/ void run() ;        //声明抽象方法
}

    3)接口中的成员不写修饰符时,默认为public。

    4)接口中不能有构造器,因为不能被实例化,所以没有初始化,接口只能被实现。

    5)具体的类实现了接口,则必须实现全部抽象方法,如果没有全部实现,则这个类为抽象类,所以说,接口约定了具体类的方法,约定了类的外部行为。

    6)具体类可以实现多个接口,这是多继承的体现。多继承:class Son implements  Student,Children {},Son既是Student又是Children。

    7)接口用implements表示实现,也表示继承关系,可以实现多个接口,但是继承extends只能有一个继承关系。

    8)一个类可以继承,同时也可以实现:class A extends B implements C,D

    9)类与类之间是继承关系,类与接口之间是实现关系,接口与接口之间是继承关系,且接口之间才有多继承关系。即:interface A{},interface B{},interface C implements A,B,但是接口多继承实现的时候,要注意,A,B接口中方法名和参数列表相同,但返回值类型不同的时候,被具体类实现时,不知道去调用哪个接口中方法。

    10)abstract class与interface的区别?

    ①abstract class 方法中可以有自己的数据成员,也可以有非abstract的成员方法,并赋予默认方法的默认行为。interface接口中,不能定义成员变量,只有常量,所有的方法是abstract,方法不能拥有默认的行为。

    ②abstract class表示的是一种继承关系,一个类只能使用一次继承关系,而一个类可以实现多个接口。

三,内部类

    当描述事物时,事物的内部还有事物,该事物用内部类来表示,因为内部的事物在使用外部事物的内容。

    在类内部定义的类为成员内部类,在方法内部定义的类为局部内部类,被static修饰的内部类为静态内部类。一个类中可以有多个内部类。

    1)内部类的作用:封装一个类的声明在类的内部,减少类的暴露。

    2)内部类的实例化:实例化时不需要写出对象,非要写的话为:new 外部类名.内部类名()!    

    3)内部类的访问规则:内部类可以直接访问外部成员,包括私有成员,之所以可以直接访问外部成员是因为内部类中持有外部类的引用,外部类要访问内部类,则必须建立内部类对象。

四,注意事项——JVM内存中堆、栈和方法区存储的内容    

    堆:JVM会在其存储空间开辟一个称为“堆”的内存空间,这部分空间存储程序中通过new关键字创建的对象。

    栈:用于存储程序运行过程中的所有局部变量,一个运行的java程序从开始到结束会调用很多方法,JVM会在每次方法调用的时候在栈中分配一个对应的空间,这个空间称为这个方法的栈帧,一个栈帧对应一个正在调用的方法,栈帧存储了该方法的变量,参数等,当一个方法调用完之后,则对应的栈帧被清除。

    方法区:用于存储类的信息。java程序运行时,首先通过类加载器载入类文件的字节码信息,经过分析后装入其方法区,类的各种信息在方法去中保存。   

    

© 著作权归作者所有

Bug-Killer
粉丝 5
博文 76
码字总数 49654
作品 0
海淀
程序员
私信 提问
java基础重点讲解,看了还不会找我(四)

###04.01Java语言基础(循环结构概述和for语句的格式及其使用) A:循环结构的分类 for,while,do...while B:循环结构for语句的格式: for(初始化表达式;条件表达式;循环后的操作表达式) { 循环体...

谢小芳是女神
2018/12/30
0
0
Java程序设计经典300例

《Java程序设计经典300例》共分为3篇。 第1篇 基础篇(第1~5章)本篇主要内容包括:Java语言基础、流程控制、数组、字符串和面向对象编程。通过本篇的学习,读者可以掌握Java开发环境的配置...

请叫我院长
2013/12/03
512
0
web前端、c++、项目管理、java、php书籍10-40/本,转让

本人因转行,又因经济困难,所以转让一下书籍。按标价出售,人在北京。联系qq:602505 可在东城区、中关村、回龙观等地当面交易。 书新旧程度全部在9成新以上。 点击书名查看书籍介绍和原价。...

匿名网友
2011/02/24
1K
17
java 7 入门书籍

一、Java从入门到精通 《Java从入门到精通(第3版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识。 《Java从入门到精通(第3版...

modernizr
2014/05/15
7.7K
9
大数据开发培训:0基础学习Java编程语言有哪些知识点?

Java 技术通用、高效、具有平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网等,学习Java首先要知道学习知识点有哪些。在这就用加米谷大数据培训...

加米谷大数据
2018/07/25
2
0

没有更多内容

加载失败,请刷新页面

加载更多

密码加密与微服务鉴权JWT详细使用教程

[TOC] 1.1、了解微服务状态 微服务集群中的每个服务,对外提供的都是Rest风格的接口,而Rest风格的一个最重要的规范就是:服务的无状态性。 什么是无状态? 1.服务端不保存任何客户端请求者信...

庭前云落
16分钟前
6
0
Xamarin.FormsShell基础教程(9)Shell相关类体系

Xamarin.FormsShell基础教程(9)Shell相关类体系 在Shell中,最为主要的类是Shell类。Shell类实现了大多数应用程序所需的基本UI功能的页面。除此以外,常用的类还有ShellContent、Tab、Fly...

大学霸
18分钟前
4
0
聊聊MVC、MVP、MVVM吧

先来介绍下本文结构: 三种框架的具体概念 在安卓开发上的写法、优缺点 1.概念 1.1 MVC MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模...

二营长的意大利炮手
35分钟前
4
0
如果解释Python,什么是.pyc文件?

我已经了解Python是一种解释型语言......但是,当我查看我的Python源代码时,我看到.pyc文件,Windows将其识别为“编译的Python文件”。 这些来自哪里? #1楼 Python代码经历了两个阶段。 第...

javail
40分钟前
4
0
.NET Core初览

初览的应用场景为游戏服务器开发。所以测试在侧重点上更强于IO和密集型计算 TODO

梦想游戏人
43分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部