一个Java代码文件,可以定义多个类,但是只能有一个类是public修饰的
public修饰的类名必须是Java代码的文件名。建议一个文件只写一个类!!!
构造方法的使用!!!方法名与类名相同,且不能带返回值,void也没有
空参构造和有参构造在写代码时,都要写上,都有各自的应用场景。
空参构造,自己不写时,系统会自动生成,方便以后键盘录入等场景。
有参构造,可以在创建对象的时候,直接给成员变量赋值。
创建对象时,虚拟机会自动调用构造方法,作用是给成员变量进行初始化的!!!
书写标准的JavaBean:
教程:(先连外网)安装完成后,在代码页面,右键,再点击ptg to javabean,可以一键生成有参和无参的构造方法,还有所有get和set方法
stringBuilder创建的对象,只是装字符串的一个容器,本身不是字符串!!!
new的stringBuilder,打印的对象不是我们之前学过的地址值,因为Java底层对这个类做了特殊处理,会输出对象的属性值(即字符串的值),而不是对象的地址
stringBuilder创建的对象,只是装字符串的一个容器,本身不是字符串!!!
在编译的时候(即运行前,内存还没有分配),如果没有其他字符串变量参与运算,即"a","b","c"都是常量,编译器会提前将字符串拼接,生成class文件,再去运行(即常量优化机制)
什么是集合?为什么要有集合?
数组可以存储基本数据类型和引用数据类型,但是大小都是提前声明的,不能自动扩容
而集合可以自动扩容,只需要一个一个的加数据就行。但是,集合只能存储引用数据类型,不能存储基本数据类型,如果要存储基本数据类型,要将基本数据类型包装到类里面。
创建可以添加数字的集合
ArrayList<Integer> lst = new ArrayList<>();
创建可以添加字符的集合
ArrayList<Character> lst = new ArrayList<>();
成员变量的访问:就近原则
成员方法的访问:
什么是重写:父类的方法不能满足子类时!
子类的无参构造,默认会先访问父类中的无参构造。
父类的成员变量是继承过来的,然后再在有参构造里,调用父类的有参构造的方法,通过这种方式,也可以给学生对象的姓名和年龄赋值
this是一个参数,表示方法调用者的地址值(局部变量)
需要给一些成员变量默认值的时候,需要用到this()访问本类的构造方法,即下面的例子
静态的成员变量也是用来赋初值的
父类私有的成员变量也是会继承的,只是不能通过“ .变量名 ”访问,而是要通过get()方法获取