第五周
引用数据类型:数组,类,接口,
如果没有任何引用指向该对象,那么该对象就会变成垃圾,java中有完善的垃圾回收机制,会在不定时对其进行回收
匿名对象进行参数传递method(new car())
Public void setage(int a){age=a;}
Public void getage(){return age;}有利于封装进行判断和c++差不多嗷
This应用场景,用来区分成员变量和局部变量重名;
一创建对象的时候就调用了构造方法;
构造方法的return语句是:return ;
给对象的数据进行初始化;
内存图
【Student.class加载进内存;
声明一个student类型引用;
在堆内创建对象;
在对象中属性默认初始化值;(null,0,0.0)
属性进行显示初始化值;(直接赋值嘛)
构造方法进栈,对对象属性进行初始化然后弹栈嗷;
将对象的值赋给s;】
static是大家共享的;
静态方法只能访问静态变量;
静态变量随着类的加载而加载,随着类的消失而消失;
成员变量随着对象的加载而加载,随着对象的消失而消失;
静态变量可以通过类名或者对象名访问嗷(静态变量是解压缩文件,成员变量需要通过对象的创建解压缩)
Public:被jvm调用,所以权限要足够大;
Static:被jvm调用,不需要创建对象,直接类名调用即可;
Main:只有这样写才能被jvm识别;
String [] args用来键盘录入的;
如果一个类中所有方法都是静态的,需要私有构造方法;目的是不让其他类创建本类对象,直接用类名调用即可;
Math.random()生成大于等于0.0小于1.0的随机数
1-100随机数嗷
int x=(int)(Math.random()*100)+1;
构造代码块,在类中方法外执行,每创建一次对象就执行一次,且优先于构造函数先执行;
静态代码块:给类进行初始化,随着对象的创建而创建,一般用来加载驱动
Java只支持单继承(一个儿子一个爹)可以多层继承
子类只能继承父类的非私有的成员
子类不能继承父类的构造方法
this即可以调用本类也可以调用父类就近原则;
Super调用父类的e