◆传值与传引 严格来说,Jav a 中所有方法参数都是传值
因为即使是传递的参数是对象的引数时,引数本身也是传值的
所有基本类型都是传值的
传值:被传入的参数被视为内部的局域变量,其变化不影响外部变量的原始值
传引:对于引数本身来讲也是传值的,但是在方法内部若对引数所指向的对象属性有改变,则会直接实时地影响所指向的对象属性
理解传引这一概念的最佳方式就是画出指向图
A(Object)O 对于 A 本身而言它是传值的,也就是说当 A 作为参数传递的时候,假若在方法内部把其它的引数赋给了 A,但是当方法返回时,A 仍旧是指向原来的对象,而不会改变
其次,对于传引来说,假若在方法内部对 A 所指向的对象属性有改变,那么对象属性的改变会是直接实时的
再次强调,Jav a 中所有的参数传递都是传值的
传值这种题型的考试很多,基本类型传值问题考的较多的是对某一变量,故意用某一方法试图改变它,然后方法返回时再打印它
按传值的说法,实际上该变量并没有改变
◆构造函数 a.构造器没有任何返回类型,哪怕是 v oid 也不行
假如指定了返回值,那么 Java 会视为一个普通的方法
b.如果没有显示地调用父类的构造器,Jav a 总是自动地调用父类的默认构造器
(也就是第一行会默认为 su per( )) c.只要类中显式地定义一个或多个构造器,那么 Jav a 不会再为你定义一个默认的构造器 d.构造函数可以被重载,并且在其体内可以用 this()和 su per()来调用其它的构造器
但是this()和 su per()只能放在构造函数体的第一行进行调用
e.构造器的修饰符只可以是接入控制符 pu blic、priv ate、protected、(defau lt)
其它修饰符一律不可
f.构造方法不可被继承
◆重载与覆盖 重载的英文为 Overload,而覆盖