java学习积累——了解继承

目录

一、封装认识

1、什么是封装

2、使用封装

3、用封装的好处

二、认识包

1、什么是包

2、为什么要用包

3、如何创建包

4、如何引入包

5、常用包说明

三、认识访问修饰符

1、概念

2、类的访问修饰符

3、类成员访问修饰符

四、static修饰符

1、static修饰符应用范围

2、static修饰成员变量

3、static修饰成员方法

4、static修饰代码块


一、封装认识

1、什么是封装

封装就是将类的部分属性和方法隐藏起来,不允许外部程序直接访问,只能通过该类提供的公开的方法来访问类中定义的属性和方法。封装是面向对象的三大特征之一。

2、使用封装

示例

public class Person {
    public String name;//姓名
    public String sex;//性别
    public String secret;//秘密

    public Person(String name,String sex,String secret){
        this.name=name;
        this.sex=sex;
        this.secret=secret;
    }
}

修改属性可见性,将类中定义的所有属性全部用private修饰

public class Person {
    private String name;//姓名
    //private表示私有的意思
    private String sex;//性别
    private String secret;//秘密

    public Person(String name,String sex,String secret){
        this.name=name;
        this.sex=sex;
        this.secret=secret;
    }
}

创建公开的getter/setter方法:用于读取/修改属性值

public class Person {
    private String name;//姓名
    //private表示私有的意思
    private String sex;//性别
    private String secret;//秘密

    public Person(String name,String sex,String secret){
        this.name=name;
        this.sex=sex;
        this.secret=secret;
    }

    public String getName() {
        return name;
    }

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

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getSecret() {
        return secret;
    }

    public void setSecret(String secret) {
        this.secret = secret;
    }
}

在getter/setter方法中加入控制语句:用于对属性值的合法性校验

public void setSex(String sex) {
        if(sex!="男"||sex!="女")
            System.out.println("不存在此性别,请重新输入");
        else
            this.sex = sex;
    }
//可在setter/getter中加入类似的校验

3、用封装的好处

a、封装提高了代码的重用性,因为封装会提供对外访问的公开的方法,而方法可以重用。

b、封装提高了代码的可维护性,修改代码时,只需修改部分代码,但不会影响其他代码。

c、封装隐藏了类的具体实现细节,保护了代码实现逻辑。

二、认识包

1、什么是包

包是Java中的一个专用词汇,包的本质就是一个文件夹。

2、为什么要用包

因为包可以对我们的编写进行分类,可以防止命名冲突,进行访问权限控制。

3、如何创建包

语法

  package  包名 ;

包的命名规范:

包名一般是由小写字母和数字组成,每个包之间用 "." 隔开,换言之,每出现一个 "." ,就是一个包。

包名一般都含有前缀,比如个人/组织通常都是org.姓名,公司通常都是com.公司名称简写或com.公司名称。

注:如果一个类中有包的定义,那么这个类的第一行有效代码一定是包的定义。

例子如下:

//这是包的定义
package com.AE.Gundam;

import java.util.Scanner;

public class RX78 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
    }
}

4、如何引入包

为了使用不在同一类中的包,需要在Java中使用import关键字引入这个类。

语法

  import  包名.类名 ;

为什么会引入包?

因为JVM只能识别当前包下所有的类,如果要使用当前包之外的其他包中的类,那必须告诉JVM,使用的是哪一个包中的哪一个类。

示例

//这是包的定义
package com.AE.Gundam;
//类的全限定名:包名 + "." + 类名
import java.util.Scanner;//告诉JVM,到Java.util包中找一个名为Scanner的类

public class RX78 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
    }
}

注:一个类同时引用了两个来自不同包的同名类,必须通过完整类来区分。

示例

//这是包的定义
package com.AE.Gundam;
//类的全限定名:包名 + "." + 类名
import org.name.lesson.User;

import java.util.Scanner;//告诉JVM,到Java.util包中找一个名为Scanner的类

public class RX78 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);

        User user=new User();
        /*
        因为该类中引入了 org.name.lesson.User ,如果不写包名,那么默认使用的是
        org.name.lesson.User 。如果需要使用其他包中的User,则必须使用类的全限定
        名来进行对象的构建与赋值操作。
         */
        text.com.chapter1.User user1=new text.com.chapter1.User();
    }
}

5、常用包说明

java.lang包:属于Java语言开发包,该包中的类可以直接拿来使用,而不需要引入包。因此JVM会自动引入。比如我们经常使用的System、String、Math。

java.util包:属于Java提供的一些使用类及工具类,比如经常使用的Scanner。

三、认识访问修饰符

1、概念

访问修饰符就是控制访问权限的修饰符号。

2、类的访问修饰符

类的访问修饰符就只有两种:public修饰符和默认修饰符(不写修饰符就是默认)

public修饰符修饰类表示类可以公开访问,默认修饰符修饰类表示该类只能在同一个包中访问。

3、类成员访问修饰符

类成员包括了成员属性和成员方法,类成员访问修饰符换言之就是成员属性和成员方法的访问修饰符。

四、static修饰符

1、static修饰符应用范围

static修饰符只能用来修饰类中定义的成员变量、成员方法、代码块及内部类。

2、static修饰成员变量

static 修饰的成员变量称之为类变量,不会随着成员变化而变化,属于该类所有成员共享。

如果类变量是公开的,那么可以使用 类名.变量名 直接访问该类变量。

3、static修饰成员方法

static修饰成员的方法称之为类方法,属于该类所有成员共享。

如果类方法是公开的,那么可以使用 类名.方法名 直接访问该类方法。

4、static修饰代码块

static修饰的代码块称为静态代码块,在JVM第一次记载该类时执行。因此,静态代码块只能够被执行一次,通常用于一些系统设置场景。

  • 18
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值