zoukankan      html  css  js  c++  java
  • 大数据之路week01--自学之面向对象java(static,this指针(初稿))

     

    函数的重载 返回值不一样会报错

     

    java中,如果自己定义了构造函数的话,它就不会给你默认一个无参函数

     

    如果一个属性,只进行定义,不初始化,自动补0,
    如果是一个布尔属性,默认是false
    但是如果一个局部变量只定义不进行初始化,它就是个垃圾值,报错!

     

    Java把内存划分为4个部分 1. 代码区 1、栈区 3、堆区 4、静态区域
    1、栈区(stacksegment)—由编译器自动分配释放,存放函数的参数值,局部变量的值等,具体方法执行结束之后,系统自动释放JVM内存资源
    2、堆区(heapsegment)—一般由程序员分配释放,存放由new创建的对象和数组,jvm不定时查看这个对象,如果没有引用指向这个对象就回收
    3、静态区(datasegment)—存放全局变量,静态变量和字符串常量,不释放
    4、代码区(codesegment)—存放程序中方法的二进制代码,而且是多个对象共享一个代码空间区域

     

    this指针:(实际上,每个非static方法中都隐含这一个this指针
    指向当前正在调用该方法的对象。)

     


    static(静态的):
    如果在一个属性的前面加上static ,那么这个属性就不是某一个对象的了,而是N个对象共用的了。在静态区存放,不释放。
    static属性变量是属于类本身的,没有对象我们仍然可以通过类名的方式进行访问该类内部的static属性。(static方法也可以)
    (注意:1、类可以直接调用,实例化出来的对象当然也可以进行调用。
    理解:模型都可以,模型造的对象当然可以。
    2、加上static的确是属于类本身的,但是要去访问它必须控制符是非私有的,如果控制符是私有的,则不能直接通过类名进行访问!!
    理解:private static void a(){} private static int i;都是不可以直接通过类名进行访问,因为前面的控制符是private
    3、非静态的方法可以访问静态成员,反之不可以。非私有的静态成员才能通过类名直接调用。
    理解:静态的方法和静态的变量属于类本身,不是静态的方法必须通过对象进行调用,在实例化对象的同时也包含了静态的方法,当然可以。
    反之不可以。)
    class A{
    public static int i;
    }

     

    class M{
    public static void main(String[] args){
    System.out.printf("%d ",A.i);
    }
    }

  • 相关阅读:
    mysql 严格模式 Strict Mode
    PHP中NULL和‘'的区别
    nginx 出现413 Request Entity Too Large问题的解决方法
    mysql 转换NULL数据方法
    mysql大小写敏感配置
    mysql导入大批量数据出现MySQL server has gone away的解决方法
    mysql函数concat与group_concat使用说明
    Linux下aMule安装教程
    四、YOLO-V1原理与实现(you only look once)
    tf.cast(ndarray,dtype)
  • 原文地址:https://www.cnblogs.com/wyh-study/p/11827941.html
Copyright © 2011-2022 走看看