关于区分类变量、类方法、实例变量、实例方法和默认值

一、区分类变量、类方法、实例变量、实例方法

1、成员变量和成员方法
首先成员变量和成员方法是范围最大的定义:即成员变量包含实例变量和类变量。
成员方法包含类方法和实例方法。

2、类方法和实例方法
类方法:就是类里面有static修饰的成员方法。类方法可以直接调用类变量和类方法。但是不能直接调用实例方法和实例变量。而且不能使用this关键字,没有实例存在,不知道引用哪一个实例。
实例方法就是没有static修饰的成员方法。实例方法可以直接访问实例变量和直接调用实例方法;实例方法虽然可以直接调用类变量和类方法,但是不被建议。

3、类变量和实例变量
类变量:
是不用新建实例,直接通过类调用的变量。特点就是有static修饰。也叫静态变量。一般被静态方法(类方法)调用。
实例变量:
是新建了实例后才能够使用的变量。可以直接被实例方法调用。
两者的区别是:
对于类变量,系统为类变量分配一次存储空间,所有实例对象共享一个类变量。
实例变量则是在类实例化后,系统为其创建的一个类的实例变量的拷贝,即一个实例拥有一个实例变量。


二、什么时候有默认值

一般来说非final修饰的成员变量在声明时没有赋值时,系统会给非final修饰的成员变量添加初始值。
final修饰的成员变量在声明时没有初始化值,会报错。
所有的局部变量在使用前都要赋值。
代码如下

public class Test_init {
    public float f;
    public long lo;
    public char c;
    public boolean b;
    public static int i;
    //public static final int k;
    
    public Test_init(){
        System.out.println("float:" + f + ",long:" + lo+ " ");
        System.out.println("char:" + c + ",boolean:" + b);
        System.out.println("static:" + i);
    }
    public static void main(String[] args) {
        int i;
        i = 10;
        Test_init t = new Test_init();
        System.out.println("局部:" + i);
    }

}

运行结果如下:

图片.png

另外在牛客那里做题有一道题可以重新分析一下

        System.out.println(b);```


`boolean b = true?false:true==true?false:true`
这句话可以看成
`boolean b = true?false:(true==true?false:true)`
由于?:的优先级比=高,且与操作的结合性是从右到左,但是运算是从左至右的,故输出FALSE

![图片.png](http://upload-images.jianshu.io/upload_images/3934058-3be5a1d89490875c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,286评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,874评论 18 399
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,736评论 0 11
  • 1、.java源文件: 一个以”.java“为后缀的源文件:只能有一个与文件名相同的类,可以包含其他类。 2、类方...
    Hughman阅读 1,566评论 1 9
  • 《沃顿商学院最受欢迎的谈判课》Day.3 四象限模式,场景化应用。 孩子是天生的谈判家。蒙特利梭博士说过孩子是...
    Ring2442阅读 336评论 0 0