JAVA part 8:final、static、抽象类和接口、包

1218-马同学

发表文章数:15

热门标签

,
首页 » Java » 正文

JAVA part 8:final、static、抽象类和接口、包

final 关键字

表示最终的意思,可以用来修饰类,修饰变量,修饰方法。

tips:
1.final修饰类:表明该类是最终类,不能被修饰,即该类没有子类
2.final修饰变量:表明该变量是常量,不能再次被赋值
3.final修饰方法:表明该方法是最终方法,不能被重写

static 关键字

表示静态的意思,可以用来修饰成员变量和成员方法

static修饰成员的特点:
1.被类的所有对象共享
其实也是判断一个成员是否应该用static修饰的条件
2.可以通过类名直接访问
3.优先于对象存在
4.随着类的加载而加载

static方法访问特点:

1.非静态成员方法:
能访问静态的成员变量
能访问非静态的成员变量
能访问静态的成员方法
能访问非静态的成员方法
2.静态成员方法:
能访问静态的成员变量
能访问静态的成员方法

package Day_8;
public class test1 {

    // 非静态成员变量
    private String name = "林青霞";
    // 静态成员变量
    private static int age = 30;

    // 非静态成员方法
    public void show1(){
        System.out.println(name); // 能访问非静态的成员变量
        System.out.println(age); // 能访问静态的成员变量
        show2(); // 能访问非静态的成员方法
        show4(); // 能访问静态的成员方法
    }

    public void show2(){}

    //静态成员方法
    public static void show3(){
        //System.out.println(name); 不能访问非静态的成员变量
        System.out.println(age); // 能访问静态的成员方法
        //show2(); 不能访问非静态的成员方法
        show4(); // 能访问静态的成员方法
    }

    public static void show4(){}
}

tips:
静态成员方法是不能出现this,super这样的关键字
原因是:静态是随着类的加载而加载。this和super这样的关键字是随着对象的创建而存在,先进内存的不能访问后进内存的

抽象类

特点:
1.抽象类和抽象方法必须使用abstract关键字
2.抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
3.抽象类直接不能实例化
可以参照多态的方式,通过子类对象实例化
4.抽象类的子类:
要么重写抽象类中的苏哦有抽象方法
要么是抽象类

抽象类成员特点

1.成员变量:
有成员变量,成员变量可以是变量,也可以是常量
2.构造方法:
作用是用于子类访问父类数据的初始化
3.成员方法:
成员方法可以是抽象的,也可以是非抽象的。抽象方法限定于子类必须完成某些动作;非抽象方法可以提高代码的复用性

接口

体现事物的扩展性的

特点:
1.定义接口使用的是interface关键字
public interface Jumpping{}
2.类和接口之间是实现关系,用implements关键字表示
3.接口不能通过本身实例化, 但可以参照多态的形式使用实现类来实例化
4.接口的实现类,要么重写接口中的所有的抽象方法,要么是一个抽象类

多态的几种形式:
具体类多态:几乎不用
抽象类多态:常用
接口类多态:最常用

接口的成员特点:

1.成员变量:
成员变量是一个静态常量,默认修饰符: public static final
2.构造方法:
没有构造方法
3.成员方法:
成员方法都是抽象的,默认修饰符:public abstract

Object:是类层次结构的跟类,所有的类都直接或者间接的继承自该类

类与接口之间的关系

1.类与类
继承关系,只能单继承,可以多层继承
2.类与接口
实现关系,可以单实现,也可以多实现
还可以在继承的一个类的同时实现多个接口
3.接口与接口
继承关系,可以单继承,也可以多继承

抽象类和接口的区别:

1.成员区别:
抽象类:
成员变量:可以是变量,也可以是变量
构造方法:有
成员方法:可以是抽象方法,也可以是非抽象方法

接口:
成员变量:只能是常量
成员方法:只能是抽象方法

2.关系区别:
类与类:
继承关系,只能单继承,可以多层继承

类与接口:
实现关系,可以单实现,也可以多实现
还可以在继承的一个类的同时实现多个接口

接口与接口:
继承关系,可以单继承,也可以多继承

3.设计理念的区别:
抽象类:被继承体现的是:“is a” ;抽象类中的定义是继承体系的共性功能

接口:被实现体现的是:“like a” ;接口中定义的是该体系的扩展功能

其实就是一个文件夹

作用:
就是对类进行分类管理

举例:
学生:增加,删除,修改,查询
老师:增加,删除,修改,查询

方案1:按功能分类
com.itheima.add
AddStudent
AddTeacher

com.itheima.delete
DeleteStudent
DeleteTeacher

方案2:按模块分
com.itheima.student
AddStudent
DeleteStudent

com.itheima.teacher
AddTeacher
DeleteTeacher

包的定义格式:
package 包名;
如果是多级包 ,用 . 隔开

tips:
1.package必须是程序的第一条可执行语句
2.package语句在一个java文件中只能有一个

导包

import 包名;

如果想使用一个不在同一个包下的一个类,使用的时候,要加类的全路径名称

四种权限修饰符的访问特点

JAVA part 8:final、static、抽象类和接口、包

拜师教育学员文章:作者:1218-马同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《JAVA part 8:final、static、抽象类和接口、包》 发布于2020-08-06

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录