Java必会的基础知识(1)

1. 类是一种抽象的概念,对象是类的一种具体表示形式,是具
体的概念。 先有类,然后由类来生成对象( Object)。对象又
叫做实例( Instance)。
2. 类由两大部分构成:属性以及方法。属性一般用名词来表示,
方法一般用动词来表示。
3. 如果一个 java 源文件中定义了多个类,那么这些类中最多只
能有一个类是 public 的,换句话说,定义的多个类可以都不
是 public 的。
4. 在 Java 中进行方法的参数传递时,无论传递的是原生数据类
型还是引用类型,参数传递方式统一是传值( pass by value)。
Java 中没有传引用( pass by reference)的概念。
5. 方法重载( Overload)。 表示两个或多个方法名字相同,但方
法参数不同。方法参数不同有两层含义: 1)参数个数不同。
2)参数类型不同。 注意:方法的返回值对重载没有任何影
响。
6. 构造方法重载: 只需看参数即可。 如果想在一个构造方法中
调用另外一个构造方法,那么可以使用 this()的方式调用, this()
括号中的参数表示目标构造方法的参数。 this()必须要作为构
造方法的第一条语句,换句话说, this()之前不能有任何可执
行的代码。
7. 继承( Inheritence): Java 是单继承的,意味着一个类只能从
另一个类继承(被继承的类叫做父类【基类, base class】, 继
承的类叫做子类), Java 中的继承使用 extends 关键字。
8. 当生成子类对象时, Java 默认首先调用父类的不带参数的构造
方法,然后执行该构造方法,生成父类的对象。接下来,再
去调用子类的构造方法,生成子类的对象。【要想生成子类的
对象,首先需要生成父类的对象,没有父类对象就没有子类
对象。比如说:没有父亲,就没有孩子】。
9. super 关键字: super 表示对父类对象的引用。
10. 如果子类使用 super()显式调用父类的某个构造方法,那么在
执行的时候就会寻找与 super()所对应的构造方法而不会再去
寻找父类的不带参数的构造方法。 与 this 一样, super 也必须
要作为构造方法的第一条执行语句,前面不能有其他可执行
语句。
11. 关于继承的 3 点:
a) 父类有的,子类也有
b) 父类没有的,子类可以增加
c) 父类有的,子类可以改变
12. 关于继承的注意事项
a) 构造方法不能被继承
b) 方法和属性可以被继承
c) 子类的构造方法隐式地调用父类的不带参数的构造方法
d) 当父类没有不带参数的构造方法时,子类需要使用 super 来显
式地调用父类的构造方法, super 指的是对父类的引用
e) super 关键字必须是构造方法中的第一行语句。
13. 方法重写( Override): 又叫做覆写, 子类与父类的方法返回
类型一样、方法名称一样,参数一样,这样我们说子类与父
类的方法构成了重写关系。
14. 方法重写与方法重载之间的关系:重载发生在同一个类内部
的两个或多个方法。重写发生在父类与子类之间。
15. 当两个方法形成重写关系时,可以在子类方法中通过
super.run()形式调用父类的 run()方法,其中 super.run()不必放
在第一行语句,因此此时父类对象已经构造完毕,先调用父
类的 run()方法还是先调用子类的 run()方法是根据程序的逻辑
决定的。
16. 在定义一个类的时候,如果没有显式指定该类的父类,那么
该类就会继承于 java.lang.Object 类( JDK 提供的一个类, Object
类是 Java 中所有类的直接或间接父类)。
17. 多态( Polymorphism): 我们说子类就是父类(玫瑰是花,男
人是人),因此多态的意思就是:父类型的引用可以指向子类
的对象。

时间: 2024-10-21 08:57:26

Java必会的基础知识(1)的相关文章

Java必会的基础知识(3)

1. 接口中所声明的方法都是抽象方法. 接口中的方法都是 public 的.2. 接口中也可以定义成员变量. 接口中的成员变量都是 public. final. static 的.3. 一个类不能既是 final,又是 abstract 的.因为 abstract 的主要目的是定义一种约定,让子类去实现这种约定,而 final 表示该类不能被继承,这样 abstract 希望该类可以被继承而 final 明确说明该类不能被继承,两者矛盾.因此一个类不能既是 final 的,又是 abstract

Java必会的基础知识(2)

1. 多态:父类型的引用可以指向子类型的对象.2. Parent p = new Child();当使用多态方式调用方法时,首先检查父类中是否有 sing()方法, 如果没有则编译错误:如果有,再去调用子类的 sing()方法. 3. 一共有两种类型的强制类型转换: a) 向上类型转换( upcast):比如说将 Cat 类型转换为 Animal 类型,即将子类型转换为父类型.对于向上类型转换,不需要显式指定. b) 向下类型转换( downcast):比如将 Animal 类型转换为 Cat

Java中String的基础知识

Java中String的基础知识 ==与equal的区别 基本数据类型,指的是java中的八种基本数据结构(byte,short,char,int,long,float,double,boolean),一般的比较是使用的 ==,比较的是他们的值. 复合数据类型(类) ==比较的是两个对象的引用,可以理解为在内存中的地址,除非是同一个new出来的对象,他们的 ==为true,否则,都为false. equal是object中的方法.object中的实现如下,内部还是使用==实现,也就是说,如果一个

[基础] Java目录(摘自Java核心技术·卷1 基础知识)

Java核心技术·卷1 基础知识(原书第9版) 第1章 Java程序设计概述 1.1 Java程序设计平台 1.2 Java"白皮书"的关键术语 1.2.1 简单性 1.2.2 面向对象 1.2.3 网络技能 1.2.4 健壮性 1.2.5 安全性 1.2.6 体系结构中立 1.2.7 可移植性 1.2.8 解释型 1.2.9 高性能 1.2.10 多线程 1.2.11 动态性 1.3 Java applet与Internet 1.4 Java发展简史 1.5 关于Java的常见误解

Java多线程完整版基础知识

Java多线程完整版基础知识 (翟开顺由厚到薄系列) 1.前言 线程是现代操作系统中一个很重要的概念,多线程功能很强大,java语言对线程提供了很好的支持,我们可以使用java提供的thread类很容易的创建多个线程.线程很不难,我对之前学习过的基础,在这做了一个整理,本文主要参考的是Java研究组织出版的j2se进阶和张孝祥-java就业培训教材这两本书 2.概述 2.1线程是什么 主要是线程与进程的区别,这里不再阐述,自行网上搜索 为什么使用线程:操作系统切换多个线程要比调度进程在速度上快很

《java核心技术 卷1 基础知识》二

<Java核心技术 卷1 基础知识>第4-5章 在Java中没有类就无法做任何事情 new操作符的返回值是一个引用 在Java中,如果使用一个未初始化的指针,运行系统会产生一个运行时错误. Date 用来表示时间点 LocalDate 日历表示法 同时不推荐使用Date类来处理日历 推荐使用LocalDate来处理日历 每一个拥有名字的类都会被编译生成对应的class文件 所有的Java对象都是在堆中构造的,构造器总是随着new操作符一起使用 在Java中,所有的方法都必须在类的内部定义,但并

《Java核心技术 卷1 基础知识》三

<Java核心技术 卷1 基础知识> 第六章 接口和内部类 接口不是类,而是对类的的一组需求描述. 接口不能包含实例域--接口没有实例 可以将接口看作没有实例域的抽象类 要将类声明为实现某个接口,需要使用关键字implements. 类实现一个接口的具体步骤为: 1)使用implements关键字进行声明要实现的接口 2)对接口中的所有方法进行定义 接口中的所有方法默认为public 但在实现接口时需要声明为public 这里介绍了Comparable接口,该接口只有一个方法,compareT

《Java核心技术 卷1 基础知识》七

<Java核心技术 卷1 基础知识> 第10章 图形程序设计 在Java1.0刚出现时,就包含了一个基本GUI程序设计的类库,即抽象窗口工具箱(Abstract Window Toolkit,AWT) 基本AWT库采用将处理用户界面元素的任务委派给每个目标平台(如windows.Macintosh等)的本地GUI工具箱的方式, 由本地工具箱负责用户界面元素的创建和动作 但由于在不同的平台上,操作行为有一些微妙的差别 因此,AWT也由"一次编写,随处使用"变为"一次

《Java核心技术 卷1 基础知识 原书第9版》pdf

下载地址:网盘下载 内容简介 编辑 CayS.Horstmann等编著,公飞编译的<Java核心技术>(CoreJava)自第1版出版以来,一直备受广大Java程序设计人员的青睐,畅销不衰,是Java经典书籍.第8版针对JavaSE6平台进行了全面更新,囊括了Java平台标准版(JavaSE/J2SE)的全部基础知识,提供了大量完整且具有实际意义的应用实例,详细介绍了Java语言基础知识.面向对象程序设计.接口与内部类.事件监听器模型.swing图形用户界面程序设计.打包应用程序.异常处理.登