zoukankan      html  css  js  c++  java
  • 抽象类和静态属性以及静态方法(2019年10月17日)

    何为抽象类:自己定义方法,但是自己不是实现方法,让后代去实现(自己的事情不做,留给后代去做)

    访问修饰符: public protected default private

    一个类被abstract修饰代表这个类是抽象类,被abstract修饰的方法叫做抽象方法

    public abstract class Person{
        public abstract void doSonmthing(); //doSomething这个方法就是为了让他的子类去实现的,不用写{} 
    }

    有抽象方法一定有抽象类(有0到n个),同样的抽象类中也可以有普通方法

    抽象类不能被实例化(不能够new一个抽象对象)

    如果用一个类去继承抽象类,要编译正确的话: 1.将子类也定义为抽象类 2.在子类中重写父类的抽象方法

    java中内存分为:1.栈     2.堆     3.方法区     4.程序计数器     5.本地方法栈

    **3.方法区:会存放xxxx包下的xxxx类

    **5.本地方法栈:native关键字的方法java无法自己实现,只能操作系统来写

    java文件编译成为字节码文件,然后在jvm中加载

    static:静态的(修饰方法和属性)

          静态的是表示属于整个类所有的,有且仅有一份,说有对象共用一份(例如生活中的太阳一样)

          静态的属性和方法都保存在方法区内存中,也叫静态区

    静态的方法和属性都在类加载的时候完成(先与对象的创建,说以静态方法中不能含有非静态的属性或者方法)

    静态的不能调用非静态的

    构造方法会经历那些步骤:

            1.去方法区中寻找这个类是否已经被加载了,如果没有被加载则先加载这个类(静态的东西会在第一次类加载的时候完成初始化)

            2. 然后new在堆中申请空间,然后个这个对象初始化

            3.执行构造方法里面的逻辑

  • 相关阅读:
    python基础_类的继承
    python基础_命名规范
    jmeter分布式压测(linux)
    Jmeter压测报错java.net.BindException: Address already in use: connect
    分布式压测平台之Ngrinder(安装篇)
    关于TeamCenter流程开发Handler问题
    C语言中的指向运算符:->
    Eclipse Action与Command的区别
    Eclipse开发RCP项目的plugin.xml详解
    Swing中通过按钮对表格JTable选中行对象进行上移和下移的操作
  • 原文地址:https://www.cnblogs.com/Starlets/p/11694050.html
Copyright © 2011-2022 走看看