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

Java中的封装、继承与关键字

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

Java中的封装、继承与关键字

目录

一、封装

1.1封装概念

1.2封装步骤

1.3类成员访问修饰符和作用域

1.4封装应用

二、继承

1.1继承的概念与作用

1.2继承语法结构

三、static 关键字

3.1 static相关概念

3.2 static作用

四、super关键字

4.1super的作用

4.2super作用域

4.3super使用

五、包

5.1包的作用

5.2包命名规范

5.3如何导入包


一、封装

1.1封装概念

将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问把尽可能多的东西藏起来,对外提供便捷的接口。

1.2封装步骤

1)修改属性可见性,设为private私有化
2)创建公有的getter/setter方法
3)在getter/setter方法中加入属性控制语句

1.3类成员访问修饰符和作用域

修饰符       同一个类中   同一个包中  子类中    任何地方  不同包非子类  同包子类   不同包子类
private          可以            不可以        不可以    不可以        不可以           不可以        不可以
默认修饰符   可以            可以            不可以    不可以        不可以           可以           不可以
protected      可以            可以            可以        不可以        不可以           可以           可以
public            可以            可以            可以        可以           可以               可以           可以

1.4封装应用

可以通过setter方法对属性进行控制,使其数据变得合理化

该应用中对动物亲密度和健康值进行封装,并控制其数据合理化,然后进行输出。

public class Penguin {

    private String name;
    private int health;
    private int love;

    public Penguin() {
    }

    public Penguin(String name, int health, int love) {
        this.name = name;
        this.health = health;
        this.love = love;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getHealth() {
        return health;
    }

    public void setHealth(int health) {
        if(health<0 || health>100){
            System.out.println("健康值不合法!默认赋值为60");
            this.health = 60;
            return;
        }
        this.health = health;
    }

    public int getLove() {
        return love;
    }

    public void setLove(int love) {
        if(love<0 || love>100){
            System.out.println("亲密度不合法!默认赋值为60");
            this.love = 60;
            return;
        }
        this.love = love;
    }

    public void print(){
        System.out.println("宠物信息:名字:"+this.name+",健康状态:"+this.health+",亲密度:"+this.love);
    }

}

二、继承

1.1继承的概念与作用

概念:多个类中相同的属性和方法抽取出来放入一个新的类中(父类),多个类中就不需要再重复定义这些属性和方法,只需要写自己类中独有的属性和方法,使用extends继承父类。

继承是Java中实现代码重用的重要手段之一。Java中只支持单根继承,即一个类只能有一个直接父类。

作用:继承可以使得子类具有父类除构造方法以外的其它方法,使代码得到复用。

1.2继承语法结构

父类

[访问修饰符] class Pet {
            //公共的属性和方法
        }

子类
[访问修饰符] class Dog extends Pet {
            //子类特有的属性和方法
        }

另外:所有类都有一个共同的父类:Object类。

三、static 关键字

3.1 static相关概念

1)static为”静态“
2)所有static关键字修饰的都是类相关的,类级别的
3)所有static修饰的,都是采用”类名.“的方式访问
4)static修饰的变量是静态变量
5)static修饰的方法是静态方法

3.2 static作用

使用static可以定义静态代码块
静态代码块在main方法执行前执行,并且遵守自上而下的顺序
类加载时执行,只执行一次
类加载时记录日志

四、super关键字

4.1super的作用

super()只能出现在构造方法第一行,通过当前的构造方法去调用"父类"中的构造方法,
目的是:创建子类对象的时候,先初始化父类型特征。

4.2super作用域

super能出现在实例方法和构造方法中-super的语法是:"super ."、"super ()
"super不能使用在静态方法中。
super.大部分情况下是可以省略的。但在父和子中有同名的属性,或者说有相同的方法,
如果此时想在子类中访问父中的数据,必须使用"super.”加以区分.

4.3super使用

super.属性名 【访问父类的属性】
super.方法名(实参)【访问父类的方法】
super(实参)【调用父类的构造方法】

注意:当一个构造方法第一行既没有this,有没有super时,系统会自动加一个super()。

五、包

5.1包的作用

1)允许类组成较小的单元(类似 文件夹),易于找到和使用相 应的文件

2)防止命名冲突 区分名字相同的类

3)有助于实施访问权限控制

5.2包命名规范

1)包名由小写字母组成,不能以圆点开头或结尾

2)包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名

3)包名后续部分依不同机构内部的规范不同而不同

5.3如何导入包

使用import   包名. 类名;语句即可导入包

注意:一个类同时引用了两个来自不同包的同名类,每个包都是独立的,顶层包不会包含子包的类,package和import的顺序是固定的。

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

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

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