java 面向对象1

前面 的像数组啊,循环啊我都写在知乎上了,写在这里也和知乎一样,为了复习和巩固知识。

构造方法Constructor概述和格式

  • 构造方法的概述和作用
    • 是为了给对象的数据初始化(也就是对象的属性)。
  • 构造方法格式
    • 方法和类要同名
    • 没有返回类型,注意不是没有返回值(也就是不是void)。
    • 没有具体的返回值return;

构造方法的重载和注意

  • 重载:方法名相同,与返回值类型无关(当然,构造方法没有返回值),注意 返回值这里我们是不看的,不管重载时,变没变,(当然还有方法体),也不看修饰符,我们看的是 参数列表。
  • 构造方法的注意事项
    • 如果我们没有给出构造方法,系统会自动提供一个没有参数的构造方法
    • 如果我们给出了构造方法,那么系统将不会再提供构造方法。
      • 如果我们建立了一个有参的构造方法,也就是没有了无参的构造方法。如果要的话,需要自己添加。

给成员变量赋值

我们都不希望我们设计的数据被调用者直接改变,所以一般我们将它设置为private型,所以我们使用了2种方式给数据赋值。

  • setX()方法
    • 用来修改属性值的。
  • 构造方法
    • 给对象中的属性进行初始化。

static关键字

  • 特点
    • 随着类的加载而加载
    • 优化于对象存在
    • 被类的所有的对象共享(有一个对象改变值,那么其他对象的值也将改变)(一般我们将有共性的设置为static)。
    • 可以用类名调用(类名.方法名(或成员变量名)) , 也可以用对象来调用
  • static的注意事项
    • 在静态方法中是没有this关键字的,这是因为this是随着对象的创建而存在的,而static是随类的加载而加载的。
    • 静态方法只能访问静态的成员变量和静态的成员方法
      • 静态方法
        • 成员变量:只能访问静态变量
        • 成员方法:只能访问静态成员方法
      • 非静态的方法
        • 成员变量:可以静态,也可非静态
        • 成员方法:可以静态,也可非静态
      • 原因:是因为静态修饰的是与类 加载的,而普通的方法和变量是由对象加载的。

静态变量和成员变量的区别

  • 静态变量也叫做类变量,成员变量也是对象变量
  • 所属不同
    • 静态的变量属于类,称为类变量
    • 成员变量属于对象,称为实例变量
  • 内存中位置不同
    • 静态变量存储于方法区的静态区
    • 成员变量存储于堆内存
  • 加载和存在时间不同
    • 静态变量可以随类加载而加载,随类消失而消失。
    • 成员变量随对象创建而存在,随对象消失而消失。
  • 调用不同
    • 静态变量可以通过类名调用,也可对象调用
    • 成员变量 只通过对象调用

main 方法格式解释

  • 格式
    * public static void main(String[] args){}
  • 格式介绍
    • public 被jvm 调用,的访问权限
    • static 静态 ———— 所以我们可不用建立对象而直接用类名访问。
    • void被jvm 调用,不给jvm返回值
    • main 一个通用名称,不是关键字(注意),但可被jvm识别
    • String[] args 以前是为了键盘输入用的,现在一般是不用的。

猜你喜欢

转载自blog.csdn.net/qq_40435621/article/details/84207532