目录
二、简述你对 Car car = new Car();的理解
一、面向对象基本特征:
继承 封装 多态
二、简述你对 Car car = new Car();的理解
Car :数据类型
car :对象名/句柄信息
new:关键字:在堆内存当中开辟内存空间
Car():构造器:在创建对象的时候给对象赋初始值
=:值传递:对于基本数据类型而言,我们传递的是值;对于引用数据类型而言:传递的 是地址值。
三、类与对象关系:
类是抽象的,不占用堆内存空间;而对象是具体的,占用堆内存空间。类是构建对象的模板,我们可以将类想象成制作小甜饼的切割机,将对象想象成小甜饼,由类构造对象的过程叫做类的实例化。
四、Java的方法重载
在同一个类当中,new相同的方法名称,但是参数列表不同的一类方法叫做方法的重载就是在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法
五、retutn作用
从当前的方法中退出,返回到该调用的方法的语句处,继续执行;返回一个值给调用该方法的语句,返回值数据类型必须与方法的声明中返回值的类型一致,可以使用强制类型转换来使数据类型一致;return当方法说明中用viod声明返回值为空时,应使用这种格式,不返回任何值。即:①结束方法 ② 针对于有返回值的方法,return + 返回数据
六、Static:
1.被static修饰的变量或者方法是独立于该类的任何对象,也就是说,这些变量和方法不属于任何一个实例对象,而是被类的实例对象所共享。
2.static是不允许用来修饰局部变量;非static修饰的方法也可以调用static修饰方法;this不能在static修饰方法中使用。
3.static属于类,static修饰的变量被所有对象共享
4.在创建子类对象的时候一定创建父类对象,而且父类对象的创建顺序在子类对象之前,执行也在其之前。
在一个类运行时,会先把它编译成.class文件,文件加载到jvm中,操作系统把jvm调入内存中,.class文件放入方法区,之后static会最先运行放入方法区的静态常量池中,再main方法入栈,所以我们知道static在刚开始就跑了一遍,所以对象是没法使用static静态方法的,只能通过类加载。
static修饰符:
static属于类,
static修饰变量: static修饰的变量属于类变量,被所有该类所产生的的对象共享
static修饰方法:
this关键字不能再static方法中使用
静态方法当中不可以使用非静态方法
非静态方法中可以调用静态方法
static修饰块f:无论放在那里都是在main方法中运行,可以优化我们的程序
static加载顺序:
new创建对象时,如果这个类有父类会先把父类的static方法或块按顺序执行一遍,再执行子类中的static方法或块,再然后才执行父类构造器然后是本类构造器。
总结: static总会最先执行。