栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

javaSE中的包,继承

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javaSE中的包,继承

javaSE中的包,继承

一、包

(package) 是组织类的一种方式.
使用包的主要目的是保证类的唯一性

1.1、导入java包中的 一个类
import:导入包中的类
package:“包”,指类所在的包。意思就是这里面包含了类。

import java.util.Arrays;//
public class TestDome {
    public static void main(String[] args) {
        int[] array = {1,2,3,4,5};
        System.out.println(Arrays.toString(array));
    }
}

当我们用Java中的方法时,比如toString()方法,就要导入 import java.util.Arrays这个类
import :导入包中的一个类。
java.util:这是一个 包。
Arrays :这是一个类。

有时候也看见一些 写法 import java.util.*

java中import 和C语言中include类似,import是导入一个 类,include是导入所有的.h文件

但是这种写法并不好,建议还是全部写完,会出现下面的请况,所以建议写完

如果不写完,那就要像下面这样写

1.2、将类放在包中
基本规则:
在文件的最上方加上一个 package 语句指定该代码在哪个包中.
包名需要尽量指定成唯一的名字, 通常会用公司的域名的颠倒形式(例如 com.bit.www)。
包名要和代码路径相匹配. 例如创建 com.bit.www 的包, 那么会存在一个对应的路径 com/bit/www 来存储代码.
如果一个类没有 package 语句, 则该类被放到一个默认包中

注意:包的名字必须是小写

接下来就可以在包里面创建类了

1.3、静态导入

1.3、包的访问权限
我们已经学了public和private
public:在哪里都可以使用
private:只能在同一个类里面使用
包的访问权限:只能在当前包中使用

int a = 10;前面没有修饰,默认是包访问权限


常见的系统包:

  1. java.lang:系统常用基础类(String、Object),此包从JDK1.1后自动导入。
  2. java.lang.reflect:java 反射编程包;
  3. java.net:进行网络编程开发包。
  4. java.sql:进行数据库开发的支持包。
  5. java.util:是java提供的工具程序包。(集合类等) 非常重要
  6. java.io:I/O编程开发包

二、继承(extends)

代码中创建的类, 主要是为了抽象现实中的一些事物(包含属性和方法).
有的时候客观事物之间就存在一些关联关系, 那么在表示成类和对象的时候也会存在一定的关联

下面我们创建两个动物鸟和狗

class Dog{
    public int age;
    public String name;

    public void eat(){
        System.out.println("吃饭");
    }
}

class Bird{
    public String wing;
    public int age;
    public String name;

    public void eat(){
        System.out.println("吃饭");
    }
    
    public void fly(){
        System.out.println("飞翔");
    }
} 


public class Test1 {

    public static void main(String[] args) {
        
    }
}

我们看见鸟和狗都有名字和年龄,都会吃,那我们将他们共有的特性给提出来

extends::就是继承的意思
Animal我们就称为父类或者基类或者超类
Dog和Bird:称为子类或者派生类
继承 就是将子类中共有的特性抽取出来,子类就继承了父类的普通成员和普通方法
2.1、基本语法

class Dog extends Animal{

}

class 子类 extends 父类{

}

2.2、public和private

public:子类会继承父类的所有 public 的字段和方法

private:对于父类的 private 的字段和方法, 子类中是无法访问的;

2.3、Java 中一个子类只能继承一个父类 (而C++/Python等语言支持多继承)

2.4、子类的实例中, 也包含着父类的实例. 可以使用 super 关键字得到父类实例的引用

2.5、protected 关键字
刚才我们发现, 如果把字段设为 private, 子类不能访问. 但是设成 public, 又违背了我们 “封装” 的初衷.
两全其美的办法就是 protected 关键字.
对于类的调用者来说, protected 修饰的字段和方法是不能访问的
对于类的 子类 和 同一个包的其他类 来说, protected 修饰的字段和方法是可以访问的

在子类构造方法中super()必须放在子类构造方法中的第一行
super:不能出现在静态方法中
常见的用法:
1、super调用父类的构造方法
2、super调用父类的成员
3、super调用父类的方法


小结: Java 中对于字段和方法共有四种访问权限
private: 类内部能访问, 类外部不能访问
默认(也叫包访问权限default): 类内部能访问, 同一个包中的类可以访问, 其他类不能访问.
protected: 类内部能访问, 子类和同一个包中的类可以访问, 其他类不能访问.
public : 类内部和类的调用者都能访问


对于更复杂的继承关系:


这种继承就太复杂了,建议继承不要超过三层。

2.3、final关键字
final修饰的类不能被继承

super和this的区别:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/530927.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号