腊月的季节

Java基础知识总结

final修饰符

  • 可以修饰类,函数,变量。
  • 被final修饰的类不可以被继承。作用是为了避免被继承,被子类复写功能。
  • 被final修饰的方法不可以被复写。
  • 被final修饰的变量是一个常量只能赋值一次,既可以修饰成员变量,又可以局部变量。常量的书写规范所有字母都大写,如果由多个单词通过_连接。
  • 内部类定义在类中的局部位置上是,只能访问该局部被final修饰的局部变量。

    static修饰符

    用于修饰成员(成员变量,成员函数),可以直接被类名调用。
    特点:
  • 随着类的加载而加载
  • 优先于 对象存在
  • 被所有对象共享
  • 可以直接被类名调用
    静态使用注意事项:
  • 静态方法只能访问静态成员,非静态方法既能访问静态也可以访问非静态。
  • 静态方法不可以出现this和super关键字。

    public,protect,private权限符

    private:私有,权限修饰符:用于修饰类中的成员(成员变量,成员函数)
    私有只在本类中有效。

    super,this访问符

    this本类:
  • 区分成员变量和局部变量
  • 用于构造函数之间互相调用,必须在构造函数第一行
    super父类:

    封装

    定义:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
    好处:
  • 将变化隔离
  • 便于使用
  • 便于控制变量值
  • 提高重用性
  • 提高安全性

封装原则:

  • 将不需要对外提供的内容都隐藏起来。
  • 把属性都隐藏,提供公共方法对其访问。

    继承 is a

    1.提高了代码的复用性
    2.让类与类之间产生了关系,有了这个关系,才有了多态的特性。
    3.不支持多继承
    类成员特点:
    1.变量

2.函数
3.构造函数

接口

接口可以多继承
接口是对外暴露的规则。
接口是程序的功能扩展。
接口可以用来多实现。
类与接口之间是实现关系。而且类可以继承一个类的同时实现多个接口
接口与接口之间可以有继承关系。

组合/聚集/聚合 has a

多态

重载

重写

构造函数

特点:
函数名与类名相同
不用定义返回值类型
不可以写return语句
作用:
给对象进行初始化
注意:
默认构造函数的特点
多个构造函数是以重载的形式存在的。
构造函数只运行一次。

构造代码块

作用:给对象进行初始化
对象一建立就执行,而且优先于构造函数执行。
和构造函数的区别:
构造代码块是给所有对象进行统一初始化,而构造函数是给对象的对象初始化。

成员变量和局部变量

作用范围
成员变量作用于整个类中。
局部变量作用与函数中。
在内存中的位置
成员变量在堆内存中,因为对象存在,才在内存中存在。
局部变量存在栈内存中。

jvm传参

java 类名 参数
main函数互相调用。

java帮助文档

使用class二进制文件:
set classpath=.;路径;
分别是本路径和绝对路径。
javadoc -d 目录路径 类名
导出帮助文档。

静态代码块

static{}
随着类的加载而执行,只执行一次,优先于主函数。

Person p=new Person(“zhangsan”,20)都做了什么

  • 因为new用到了Person.class,所以会先找到Person.class文件并加载到内存中
  • 执行该类中的static代码块,如果有的话,给Person.class类中静态变量进行初始化。
  • 在堆内存中开辟空间,分配内存地址。
  • 在堆内存中建立对象的特有属性,并进行默认初始化。
  • 对属性进行显示初始化。
  • 对对象进行构造代码块初始化
  • 对对象进行对应的构造函数的初始化。
  • 将内存地址付给栈内存中的p变量。

热评文章