zoukankan      html  css  js  c++  java
  • Day05:访问控制 、 static和final

    访问控制

    package(包)

    什么是包?

    组织java文件的一个单位

    为什么需要包?

    将相关的java文件组织在一个包里

    将项目中同名的类,方法在不同包中,不会冲突

    注意:

    包名全部小写,如果多个单次组成使用.分隔

    一个类的类名实际上是由包名做前缀的,这样的类名称之为全类名

    java中不允许全类名相同的类

    如过想写一个全世界唯一的全类名怎么办?

    当今业界使用“域名反写”未确保唯一

    import关键字

    什么是import关键字?

    导入不同包的其他类

    为什么需要import关键字?

    使用import可以避免使用一个不同包其他类时,使用全包名

    使用import

    包名.类名
    //导入一个其他包中的类
    包名.*
    //导入这个包中的全部类

    注意:

    不能在同一个类中导入2个同名类

    不能在类中导入和自己同名的类

    导入单个类名的优先级比导入*号的优先级高

    JVM运行时,默认导入java.lang.*;

    访问修饰符

    什么是访问修饰符?

    能够设置类中的一个成员对外部访问权限的一组关键字

    为什么需要访问修饰符?

    为了保存一些重要的信息或数据,不被随意访问和篡改。

    将那些比较私密的信息,用严格的访问修饰符保护

    访问修饰符的分类

    private(私有)

    默认  (什么都不写)

    protected(保护)

    public (公有)

    访问修饰符访问权限

                       本类          同包      子类       其他

    public          可以          可以      可以       可以

    protected     可以        可以        可以

    默认             可以        可以

    private          可以              

    static关键字

    static只能修饰成员英文含义静态

    修饰属性

    被static修饰的属性所有对象共享同一个值

    被static修饰的属性值会被保存在内存的方法区中

    当该类的所有对象共享一个资源时,将这个资源设置为静态能够节省内存

    静态属性使用类名调用

    静态属性也称为类属性

    修饰方法

    被static修饰的方法称之为静态方法,类方法

    静态方法可以直接使用类名调用无需实例化对象

    静态方法中无法调用普通(实例)属性和方法,因为静态方法中没有this

    如果一个不需要访问当前类中的实例成员就可以定义称静态的

    静态方法不能被重写

    修饰初始化块

    什么是初始化块

    在代码中直接编写{},{}中的内容就是初始化块

    初始化块中的内容会在构造方法运行前运行

    被static修饰的初始化块只会运行一次

    运行时机是JVM使用这个类之前,JVM加载类时运行静态块

    加载类的情况

    实例化对象

    使用类名调用静态成员

    反射

    final关键字

    final:(最终)是一个修饰u符。

    1.final可以修饰类,函数,变量(成员变量,局部变量)。

    2.被final修饰后的类不可以被其他类继承。

    3.被final修饰后的函数不可以被重写。

    3.被final修饰后的变量不允许被再次赋值。

    final在对变量进行修饰时一定赋值,被final修饰后的变量我们称为变量。

    注意:

    常量的命名规范;

    都要大写,如果这个名字是由多个单词组成的,在单词之间用下划线隔开。

    修饰类:
    表示这个类不能被继承
    修饰方法
    表示这个方法不允许被子类重写
    修饰成员变量(属性)
    属性值不能被修改
    赋值时:
    要么声明时赋值
    要么构造方法中赋值
    修饰局部变量
    修饰方法中声明的变量只能被赋值一次

    修饰方法的形式参数不能修改

    匿名对象与类

    匿名对象:

    没有名字的对象。

    匿名对象的使用方式:

    1.当对象的方法只调用一次时,我们可匿名对象来完成。

    2.匿名对象可以被当作实参传递。

    语法:

    类名 (new 对象名());
    //相等于
    类名 a=new 对象名();
    a.方法名();

    匿名类:

    没有名字的内部类。

    语法:

    new <接口或类>(){
    //类的主体
    }

    匿名类的使用方式:

    1.继承一个类,重写其方法。

    2.实现一个接口(可以是多个),实现其方法。

    特点:

    匿名类可以访问外部类的所有成员。

    匿名类中允许使用非静态代码块。

    匿名类的非静态代码块会在父类的构造方法之后执行

  • 相关阅读:
    一些css
    nginx访问静态资源
    ngixn 基本命令
    vue打包
    java集合-HashMap
    java多线程-线程池
    java多线程-中断线程
    服务端获取nginx代理后的用户真实ip
    nginx学习笔记
    数码视讯宣讲会现场笔试题
  • 原文地址:https://www.cnblogs.com/wsnb8/p/11307768.html
Copyright © 2011-2022 走看看