java SE 第六章 面向对象(下)

1 继承

特点:

1 继承要有一定的层次结构,而且还要具备一定的可传递性。

2 子类继承了父类中的所有的属性和方法,但是私有属性和方法除外。

3 子类拥有从父类继承过来的属性和方法外,子类也可以拥有自己的属性和方法。

4 在java中只支持单一继承(也就是说一个子类只能继承一个父类,但是一个父类可以继承多个子类)。

5 判断两个雷的继承关系是否成立,可以通过“is-a”(译名:是一个)来判断。


父类等同于:基类,根类,超类。

在java中通过extends 关键字来实现继承,语法:【访问修辞符】class 子类 extends 父类{}

继承的作用:

提高代码的重用性。

一个源文件中,可以包含多个类,而且只能有一个类带public,而且带public访问修饰的类要和文件类名相同,还要把

慢方法写在带public的类中。main方法。

当创建子类对象时,那么一定会先执行父类的构造方法创建的对象,然后再调用子类的构造方法创建的对象。而且在

创建子类对象时,无论是有参数还是无参数的构造方法,jvm都只会默认父类中无参数的构造方法创建的父类对象。

2 super关键字

作用:super关键字表示对当前父类对象的引用(也就是说super表示的是父类对象的引用)。

位置:super关键字只能出现在继承关系的子类中。

用法一:

父类中的成员属性和普通方法;

super.属性名;

super.方法名(参数列表);

用法二:当super关键字以super(参数列表)的形式出现在子类构造方法的第一句代码时,就明确的告诉jvm按照super关键字指定的父类

构造方法创建父类的对象。

3. object 类

java.lang.object类是所有java累的父类。

如果一个没有明确的通过extends关键字指明父类,则默认就继承自object类。// object是祖宗类,默认就是object的功能 // 

4.访问修饰符

private:私有的,可以修饰成员变量和方法。只有本类可见。

默认:可以修饰成员变量、方法。本包、本类可见。// package

protected:收保护的,可以修饰成员变量和方法。本类、本包、子类可见。//package 、import、extends

public:公有的,可以修饰成员变量,方法和类。一切皆可见。//无敌

注意: 属性用private来修饰的 类 和 方法 可以用默认或者public来修饰。

5 final  关键字

a.final修饰变量等同于常量,一旦赋值就无法更改。【无论成员属性或者局部属性常量,在定义时都要初始化。】

b. final修饰的方法中的参数,称为最终参数,在方法体中同样不能给最终参数重新赋值。

c. final修饰的方法不能被重写。

d. final修饰的类,不能被继承。

6 方法重写

方法重载和方法重写都是多态的表现。

方法重写只能够发生在继续关系的子类中,是子类重写父类的方法。

目的:

当父类方法无法满足子类的需求时,那么子类可以对父类方法进行改造或者扩展。

定义:

子类重写父类的方法,要和父类的方法名称、参数列表、返回值类型等完全一致,而且访问修饰符的范围不能缩小。

7 向上转型和向下转型

向上转型:

把子类的对象赋值给父类,就可以把该对象‘【当做父类对象来用】。’

动态绑定机制:

在程序运行期间,会根据对象的真正创建者来决定调用那个方法。

发生动态绑定机制的条件:

1继承

2重写

3向上转型

4用向上转型的对象调用被子类重写的方法。

向下转型:

把一个父类对象赋值给某个子类,需要加上强制转换符。【向下转型一定是在向上转型的基础上,做类型的还原】

可以通过instenceof关键字来判断某个对象是否属于某个类。语法:

对象 instenceof 类名、  对象  空格   instenceof  空格  类名

8方法的递归

方法本身调用本身的过程就是方法的递归。

9  static关键字

static可以修饰属性、方法、代码块。

【没有 被static修饰的成员属性或方法都属于对象,也叫做实例属性或实例方法。】

用法:

static修饰的属性或方法名都可以通过:类名.属性名或类名.方法名来调用。静态的属性或者方法可以直接调用;不用非静态对象来实现。

没有static来修饰的属性或者方法只能通过对象来调用,实现。

静态属性:

无论创建多少个对象,静态属性只能有一个副本。

静态方法:[访问修饰符]空格static返回值类型方法名(参数列表){                                  };

特点:

1。静态方法中只能访问静态属性和方法。(包括成员属性)

2。在非静态方法中,即可以访问非静态的方法;也可以访问静态的方法和属性。

3。在静态方法中,不能使用this和super关键字,因为this和super表示的是对对象的引用。而static修饰的方法属于类,

所以在语法上存在冲突。

静态代码块:

静态代码块只能出现在类的内部,任何方法的外部。

语法:

static{

}

作用:

给静态的成员属性进行初始化。

10 抽象类

定义:

当一个类中,没有足够的信息去描述一个具体的事物时,这个类就是抽象类。

语法:

[访问修饰符] abstract class 类名{

}

特点:

1抽象类不能被实例化。(也就是说抽象类不能创建对象)

2抽象类可以拥有构造方法。

3抽象类中可以声明实例变量、也可以声明静态变量;也可以存在普通方法、或静态方法。

4抽象类中还可以存在抽象类方法:[访问修饰符] abstract 返回值类型 方法名(参数列表);

5抽象类中的抽象方法,由抽象类中的子类来实现。

6如果一个类是抽象类,那么这个类不一定有抽象方法,但是如果一个类中有一个抽象方法,那么这个类一定是抽象类。

7如果抽象类的子类没有把抽象类中的所有方法实现,则子类也需要定义成抽象的,由子类的子类负责实现剩下的。

【记住以上7条,则抽象类成矣!】

11 接口类

接口就是对外提供了一系列的功能声明。(也就是说在接口中,定义的方法只能有方法的声明没有方法体)

创建接口的语法:

[访问修饰符] interface 接口名{                                           }

接口特点:

1 接口中声明的方法没有方法体,只能有方法的声明。例:public void display(参数列表);没有大括号。

2 接口中声明的成员属性都是静态的而且是不可变的,因为接口中的成员属性默认的都是public static final 属性名  来修饰的。

3接口中没有构造方法,也不能被实例化。

4接口可以实现多继承,接口类名之间可以用逗号隔开。

5接口中的方法只能被public来修饰,就算没有明确声明访问符,默认的也是public。

接口是一种特殊的类。它可以同过implements来实现。

语法:

[访问修饰符] class implements 接口1,接口2,接口3{                      }

说明:

1 由类来实现接口,而且一个类可以同时实现多个接口,接口之间用逗号隔开。

2 如果一个类实现了某个接口,就要实现接口中的所有方法,否则当前类就需要定义成抽象类,由抽象类的子类来实现。

3 实现接口的类中,可以通过类名  点    属性名或者直接输出接口中的属性。

4 实现接口也是一中特殊的继承。



  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 第1章《认识java语言》是介绍Java语言的起源、发展以及特点等基本知识。Java是一种跨平台的高级编程语言,被广泛应用于开发Web和移动应用程序等领域。它具有面向对象、可移植、健壮性好等特点。 第2章《Java语言基础》是介绍Java语言的基本语法、数据类型、运算符、控制流程等内容。学习这些基础知识对于理解和编写Java程序至关重要。 第3章《面向对象程序设计之一》是介绍面向对象编程的原理和基本概念。学习面向对象的思想和方法可以提高程序的可扩展性和重用性。本章内容包括类与对象、封装、继承、多态等知识点。 第4章《面向对象程序设计之二》是进一步探讨面向对象编程的高级特性。学习抽象类、接口、内部类等内容可以让我们写出更加灵活和健壮的Java程序。 第5章《Java基础类库》是介绍Java标准库中的常用类和接口。掌握这些类的使用方法可以大大简化程序开发,如字符串处理、集合框架、IO操作等。 第6章《图形用户界面程序》是介绍使用Java编写图形用户界面(GUI)程序的方法。学习Swing和JavaFX等技术可以实现丰富、直观的用户界面。 第7章《输入输出流》是介绍Java中的输入输出操作。学习文件读写、网络通信等知识可以实现数据的持久化和交互。 第8章《多线程并发编程》是介绍Java多线程编程的原理和方法。学习多线程操作可以充分利用多核处理器的优势,提高程序的并发性和响应性。 第9章《网络编程》是介绍使用Java进行网络通信的方法。学习Socket编程、HTTP协议等内容可以开发出基于网络的应用程序。 第10章《数据库编程》是介绍使用Java连接和操作数据库的方法。学习JDBC等技术可以实现与数据库的交互,进行数据持久化和查询。 通过学习这些章节的内容,可以全面掌握Java语言的基础知识和常用技术,为进一步深入学习和应用Java打下良好的基础。 ### 回答2: 第1章:认识Java语言 第1章介绍了Java语言的基本概念和特点。Java是一种跨平台的编程语言,被广泛应用于Web开发、移动应用开发等领域。Java具有简单易学的特点,使用了面向对象的编程思想,具有良好的可扩展性和可维护性。 第2章:Java语言基础 第2章主要介绍了Java语言的基本语法和常用的数据类型。包括变量、常量、运算符、流程控制语句等。同时还介绍了Java中的数组、字符串和输入输出等相关知识。 第3章:面向对象程序设计之一 第3章介绍了面向对象程序设计的基本概念和常用的面向对象的特性。包括类、对象、继承、封装和多态等。同时还介绍了如何定义和使用类,以及如何实现各种面向对象的特性。 第4章:面向对象程序设计之二 第4章进一步深入介绍了面向对象程序设计的相关知识。包括接口、抽象类、继承和多态的高级应用,以及异常处理和内部类等。这些知识对于构建复杂的面向对象程序非常重要。 第5章:Java基础类库 第5章介绍了Java基础类库中常用的类和方法。包括字符串、日期、时间、集合、文件和输入输出等类库的使用。这些类库为我们提供了丰富的功能,在Java编程中非常实用。 第6章:图形用户界面程序 第6章介绍了Java图形用户界面编程的相关知识。包括Swing和AWT等GUI库的使用,以及事件处理和布局管理器等。通过学习这些知识,我们可以编写出漂亮、交互性强的图形界面程序。 第7章:输入输出流 第7章介绍了Java中输入输出流的使用。包括字节流和字符流的概念、File类的使用以及文件读写和网络通信等。这些知识对于实现数据的读写和传输非常重要。 第8章:多线程并发编程 第8章介绍了Java多线程并发编程的相关知识。包括线程、线程同步和线程通信的概念,以及锁和条件的使用。同时还介绍了线程池的概念和使用,以及如何处理并发编程中的常见问题。 第9章:网络编程 第9章介绍了Java网络编程的基本知识。包括Socket编程、TCP和UDP协议,以及HTTP协议的使用。通过学习这些知识,我们可以编写出具有网络功能的Java应用程序。 第10章:数据库编程 第10章介绍了Java数据库编程的相关知识。包括连接数据库、执行SQL语句、事务处理和数据查询等。通过学习这些知识,我们可以使用Java操作各种类型的数据库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值