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

Java基础复习---关键字abstract&static&final&private

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

Java基础复习---关键字abstract&static&final&private

一、abstract 用法:

1、用来修饰类和方法,被abstract修饰的类/方法是抽象类/抽象方法,抽象类不能被实例化,抽象方法没有方法体;

2、如果一个类里面有抽象方法,那么这个类必须被声明成抽象类;反之,一个抽象类中的方法可以全普、全抽、半普半抽;抽象类中可以定义成员变量、常量;

3、如果一个类继承了一个抽象父类,两种解决方案:

方案一:实现抽象父类的全部抽象方法,成为普通类

方案二:不实现/实现部分父类的抽象方法,继续抽象

4、抽象类有构造方法吗?如果有那么抽象类为什么不能被实例化?

答:抽象类中有构造方法,构造方法不是为了自己实例化用的,而是为了子类实例化,因为继承关系中,子类的构造函数默认存在super(),默认调用父类的构造函数;

tips:那么继承关系中,子类会继承父类的构造函数吗?答:不会,构造函数概念:与本类类名同名且没有返回值类型。

5、如果一个类不想被实例化,可以把这个类声明成抽象类。

6、话不多说,直接上代码;

package cn.tedu;

public class ReviewAbstract {
    public static void main(String[] args) {
        a a = new b();
        a.play();
        b b = new b();
        System.out.println(b.s);
    }
}
abstract class a{
    int num = 10;
    final String s = "自信至上";
    abstract public void play();
    public void eat(){
        System.out.println("抽象类中的普通方法");
    }
}
//子类继承父类后实现父类的抽象方法
class b extends a{
    @Override
    public void play() {
        System.out.println("实现后的抽象方法");
    }
}
//子类继承父类后声明成抽象类
abstract class c extends a{
    
}
二、private 之前复习过:

https://blog.csdn.net/m0_64376967/article/details/123291521?spm=1001.2014.3001.5502https://blog.csdn.net/m0_64376967/article/details/123291521?spm=1001.2014.3001.5502

三、final 用法:

1、被final修饰的类不能被继承;

2、被final修饰的方法不能被重写;

3、被final修饰的变量为常量,值不能被修改

四、static 用法:

1、被static修饰的资源称为静态资源;

2、静态资源在内存中只有一份,会被全局所有的对象共享;

3、静态资源随着类的加载而加载到内存中,比对象先进入内存,所以静态资源可以不通过对象调用,通过类名直接调用;

4、静态资源的调用关系:静态调用静态、普通调用静态。

5、java static关键字的作用是什么? 在java中,static是一个修饰符,用于修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程序性能;被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。

6、上代码:

package cn.tedu;

public class ReviewStatic {
    public static void main(String[] args) {
        //调用非静态资源需要创建对象
        animal animal = new animal();
        System.out.println(animal.s);
        //调用静态资源直接通过类名调用
        animal.get();
    }
}
class animal{
    static int a = 10;
    String s = "hello";
    public static void get(){
        System.out.println();
    }
}

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

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

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