java基础教程--方法
2016-06-08 16:12
323 查看
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方法
抽象类型只能被继承
具体类型继承抽象类型必须实现抽象方法
圆是一种图形
抽象类
抽象类可以定义变量,可以引用具体类型的实例
抽象类不能直接实例化
重要原则:类一定有构造器
一个文件中只能有一个共有类,即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方法
抽象类型只能被继承
具体类型继承抽象类型必须实现抽象方法
圆是一种图形
抽象类
抽象类可以定义变量,可以引用具体类型的实例
抽象类不能直接实例化
相关文章推荐
- java基础教程--补码
- java教程第三天-数组
- Spring配置
- Java简易日历的实现
- Java过滤器与SpringMVC拦截器之间的关系与区别
- Java中的Dialog、JOptionPane对话框
- 浅谈javaSE 面向对象(Object类toString)
- Java教程第一天
- How does Spring @Transactional Really Work?--转
- struts2中constant参数设置
- JAVA学习2:Eclipse集成Maven
- eclipse ndk 配置和简单开发demo
- JAVA枚举操作(获取值,转map集合)
- Java设计一个可追踪是否成功执行的方法
- 定义类和创建对象----电视操作
- java类加载说明
- java.lang.NoClassDefFoundError: jdk1/6/0_39
- Mybatis入门实例(四)——MyBatis与Spring 3.X的整合
- java 小题目
- JAVA 直接量