Java教程

7、Java——对象:包,private,super,extends,重写,final,modifier,object

本文主要是介绍7、Java——对象:包,private,super,extends,重写,final,modifier,object,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 1、包package与导sql教程入import

    (1)包机java基础教程制: 文件夹。

        ①便于管python基础教程理众多的资源。

        ②提供了多c#教程重的vb.net教程命名空间。

(2)命名规范:

        公司域名倒着写    com.xxxx.xxxx

        包信息存在与java文件的首行。

(3)导包 : 指明要使用的类的位置。

        import 包名.类名;

        位置: 类对的上面,包信息的下面。

      ①使用的时候指明类的权限定名,完整路径,只能在当前只一次使用有效

      ②import 包名.类名;

      ③模糊匹配 *,模糊匹配当前包下的所有类  import java.util.*;,影响编译效率不会影响运行效率。

④静态导入,只能导入某个类中的静态内容。

2、Private关键字

类似年龄,可能存储负数,或者不符合业务逻辑要求的一些数据,程序可能存在安全隐患,,为了解决安全隐患:使用关键字private 私有的。

(1)private 私有的 :成员修饰符,不能修饰局部,成员只能在本类中使用。

(2)提供公共的访问方式:公共的成员方法(非静态),设置器 setter,访问器 getter,私有的属性,配合公公公的访问方式提供成员的安全性。

3、面向对象的三大特性: 封装,继承,多态

①属性私有化配合公共的访问方式就是封装的具体体现。

②方法,类..都是封装的体现。

③私有是封装,封装不一定是私有。

(1)封装:隐藏内部的实现细节,对外提供公共的访问方式。

①封装的优点:a.提高安全性b.提高了复用性。

②注意: 未来所定义的javabean类,所有的属性都应私有化,并提供公共的访问方式。

(2)继承 :子承父业。

①作用: 子类一旦继承父类,就有权使用父类中的内容,子类中可以扩展自己独有的内容  延续+扩展。

②定义: 子类 extends 父类。

③定义继承的原因: 为了提高代码的复用性。

(3)父类/基类/超类 : 被继承的类;

子类/派生类 : 继承父类的类。

父类是子类的共性,一个子类只能存在一个直接父类,一个父类可以存在多个子类。

  • 特点:java中的继承是单继承机制。
  • 优点: 简单,缺点: 不变与后期维护,不够灵活。

(4)面向对象的设计原则之一:

①开闭原则 : 对修改关闭,对扩展开放。

②javabean : 抽取一系列对象的共性。

    

4、super 与  this 之间的区别:

    this  指代当前对象,super 指代父类对象。

(1)先静态后成员:在子父类关系下,创建子类对象 : 先父类后子类 (在子类内存空间中存储父类对象,可以通过super在子类中使用父类对象)。

    (2)super需要在子类中使用。

在子类的构造器首行通过super调用父类的执行构造器。

(3)super(参数列表)。

    默认在子类构造器的首行会调用父类的空构造 super(),在子类构造器的首行不能同时显示存在this()与super(),因为都需要定义在首行第一个条语句。

5、重写 Override

(1)重写与重载之间的区别,都是方法的一种特性。

①重载:a.同一个类中的多个方法;b.方法名相同;c.参数列表不同|方法签名不同。

  • 重写:a.不同的两个类;b.继承或实现关系;c.方法签名相同。

(2)使用前重写的前提需求 : 子类对父类某个 功能满意,功能实现不满意,可以在子类中对这个功能进行重新实现-->重写。

(3)使用特点: 子类引用会调用子类中重写的方法,子类没有找父类,子类有找子类,会对父类中的方法进行屏蔽。

(4)检查一个方法是否是重写方法:

①在行号的后面显示,点击会跳转到对应被重写的方法位置。

②@Override 强制检查一个方法是否为重写方法。

(5)详细要求:

①== 方法签名。

②<= 返回值类型 :

a.基本数据类型 : 完全相等。

b.引用数据类型 : 子类中重写方法的返回值类型 <= 父类中被重写方法的返回值类型。

c.没有返回值类型 : 完全相等。

③>= 权限修饰符 :

子类中重写方法的权限修饰符 >= 父类中被重写方法的权限修饰符

(6)不能被重写的方法:

①被private修饰的方法不能被重写。

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

  • 被static修饰的方法不能被重写。

子类中如果存在与父类静态方法同名的方法,要求子类中的同名方法也需要被static修饰。

6、访问权限修饰符

                                           本类        同包类         不同包下的子类            不同包下的其他类

公共的(public)                  √                √                      √                                       √

受保护的(protected)         √                √                      √  

默认的(default)                 √               √

私有的(private)                 √

成员的被访问权限,成员修饰符,不能修饰局部。

(1)能够修饰的类的 : public , default(省略),私有的内容能被继承,但是无权使用。

(2)受保护的成员 :①同包类②在不同包的子类中,通过继承关系访问

(3)常用的权限修饰符:public,private。

7、final关键字
    最终的
    final可以修饰成员可以修饰局部

    1.被fianl修饰的变量为常量
    2.被final修饰的方法不能被重写
    3.被final修饰的类不能被继承-->太监类

7、Object 类

(1)老祖宗类是,java中所有类的父类,java中的类都会直接或者间接的继承自Object类,如果一个类没有显示的继承自其他类,默认继承自Object类

(2)toString()  把对象数据转为字符串的表现形式

如果直接打印一个引用,默认打印的是这个调用toString方法的返回值

(3)需求: 以一个字符串展示一个对象,想要了解到对象的一些基本的信息(成员变量的值)

(4)Object类中的toString方法的实现: 默认以对象的地址展示,子类中重写toString方法,实现返回对象的成员变量的值非地址值

(5)equals 比较两个对象是否相等,Object 类中equals默认比较 : 对象的地址,如果不想比较对象的地址,想要比较所有成员变量的值,可以在子类中重写equals方法

(6)equals与==之间的区别:

①== : 基本数据类型比较数据值

             引用数据类型比较对象的地址值'

②equals : 只能比较引用数据类型

                默认比较对象的地址

                可以通过重写实现比较对象内容(成员变量的值)

③注意: 以后要在javabean类中重写toString()与equals()方法

 

这篇关于7、Java——对象:包,private,super,extends,重写,final,modifier,object的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!