java基础教程--方法

java的很多方法都是重载的方法,使用很优雅(简洁)如println(int)   println(char)   println()....

重要原则:类一定有构造器

一个文件中只能有一个共有类,即public 形容的类

 

类名一般都用名词,方法名一般都用动词

所有的局部变量都在栈中保存

所有的对象都在堆中保存


方法参数传递规则:是基于变量值的传递,就是变量的赋值

 注意:对象不会发生复制!

 子类型(Sub Class)继承了父类(super class)的属性和方法

 父类型变量可以引用子类型实例(对象):向上造型(sub->super

 子类型变量才能调用子类型的方法 属性

 

 继承的构造器现象

 类一定有构造器

 构造器不能继承

 子类构造器一定调用父类构造器

 A默认调用现象,子类构造器默认调用父类无参构造器

 B使用super()调用

 建议;所有的类都有无参构造器,方便继承

 

 方法的覆盖/重写(父类调用子类特有的方法就需要用到方法重写)



方法的覆盖

 父类  包含方法class Foo test()跟踪语句

 子类 覆盖重写父类的方法class Koo test()跟踪语句

 执行时候执行子类的方法,父类的方法被挡住了

重写的方法调用(父类的对象调用子类的方法)

  多态:父类型的子类型是多种多样的

  行为的多态:方法运行期绑定到对象的方法

 重载的方法是根据变量类型调用,和对象类型无关

   共有:共有的资源可以在任意位置可见

  私有:只能类的内部可见,外部不可见

 

 使用import语句跨package访问类

 也可以使用“全限定名”(包名。类名)访问其他包中的类

 全限定名是java类的全名(大名)!

 

 共有类的类名必须和类名一致

 一个java 文件中只能有一个共有类

一个java 文件中没有共有类,文件名就和任意一个类名相同就行

main方法 只能放在共有类里才能执行

 

 静态变量:numOfCats:全体对象共享一份,实例变量age:每个对象一个

 用类名访问静态变量Cat.numOfCats,静态变量是属于类的变量

 实例变量用对象名访问 c2.age

 

 静态方法:是属于类的方法,用类名调用,没有隐含参数this

 对象方法:是属于对象的方法,用引用调用,有隐含参数this

 this是当前方法调用者

 静态方法经常用于工具方法,方便,可以直接使用类名调用

 如:JOptionPane.showMessageDialog()

 Math.sqrt()

 Arrays.sort(ary)



继承中,对象的初始化过程

 1  在第一次使用Moo 类型的时候,递归加载所有类和父类到方法区类的加载只有一次,(按需(懒惰式)加载一次)

 2. 父类型递归分配所有属性空间,在堆中分配有默认值

 3  递归调用属性初始化和构造器,先执行父类的构造器

 

 final修饰的变量,初始化之后不能再次修改!

 final 的实例变量:初始化以后不能改

 static 的成员变量:只有一份,只能在类中声明

 

 区别:常量和字面量(直接量)

 字面量(直接量):直接写出的字面值

 特殊的字面量:true,false,null

 常量:是个代词,指定了一个不变的值的名称 Math.PI Math.E   Integer.MAX_VALUE  Integer.MIN_VALUE

 常量使用“static final”(fianla static)声明,

 常量是只有一份而且不能修改,常量名:都是大写字母用_分割

 

 ture,false,null是字面量,不是关键字!

 

 广义上:常量和字面量都称为"常量"

 

 广义叙述时候:不严格区别引用对象

 如:调用foo对象的test方法  调用foo变量引用的具体对象的test方法



抽象类型只能被继承

 具体类型继承抽象类型必须实现抽象方法

 圆是一种图形

 抽象类

 抽象类可以定义变量,可以引用具体类型的实例

 抽象类不能直接实例化






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值