1,方法的重载
前提:在同一个类中的多个方法
a,方法名字相同
b,参数不同(个数 顺序 类型)
在jvm 编译这个源码确定重载=》静态多态
public
加载顺序:
静态块
实例块
构造方法
实例方法
静态方法 (只能访问静态成员)
this 关键字?
指向对象自身的引用 即一个地址,存的是对象在内存中的位置
静态关键字
使用:修饰方法,成员变量,代码块(静态块)。
=》:jvm 加载一个java类的顺序
public class A{
}
=========================
1,对象数组
2,继承
3,访问权限控制
4,继承构造方法
5,super关键字《=》this
========================
数组:相同类型的,连续空间。数组在声明时必须定长
定义语法:
类型[] 数组名=new 类型[长度];
数组名.length
java的数据类型
基本类型:int long byte boolean short char float double
引用类型: String 数组,自定义的类
存储的演化:
=>基本类型=>基本类型数组=>引用类型数组(长度固定)=> 集合 =>流(持久化)=>数据库
==================
1.对象数组
与基本类型数组一样的用法
1,java中的继承
2,super()关键字
3,权限修饰符 public protected private
java oop中有三个特征
封装 —> 体现数据的安全性(通过访问权限 private 封装=>提供一些访问方法(方法中可以加入逻辑代码))
继承—>体现代码的重要问题
多态—>体现可扩展性问题
2,基类/父类
派生类/子类
3,继承其实就是自动地共享类中非私有的成员属性 和非私有的成员方法的机制
即:继承只能继承父类中的非私有成员
4,java只支持单继承(只能有一个父类,不能有多个)
5,extends 关键字
语法 ;class 子类名 extends 父类名{
成员属性;
成员方法;
}
6,继承是单方向的,即只能子类继承父类
7, public :公有
protected 受保护的 父子的或同包
缺省 包权限
private
8,super 关键字
前提:继承中构造方法额调用顺序 先调用父类的构造方法中,再调用子类的构造方法
用法一
! 在子类的构造方法 super()/super
============
方法的重写 :
1,在子类中(有继承关系)
2,方法签名相同+参数列表相同+返回类型相同
3,权限修饰符只能放大或想等
//实例是谁的,就调用谁的方法
方法的重载
1,发生在一个类中
2,方法名相同,参数列表不同
3,与修饰符及返回类型无关
//类型转换,前提是类型兼容
跳转到方法定义处
使用ctrl+单击
返回调用处 alt +←
=====================================
父类与子类成员相同时,父类引用子类实例,属性是对象是谁的,属性就是谁。
方法是实例是谁,方法就是谁。
=====================================
abstract
不作实现的方法,用abstract修饰
在类中,只能存储在抽象类
在子类中,必须重写父类的抽象方法,除非子类是抽象类
抽象类不能实例化,主要是描述现实中概念的类,没有具体对象
抽象类可以引用子类的实例
子类必须实现抽象类的所有抽象方法,除非子类是抽象类。
===================================
普通内部类可以访问外部类的所有方法
当外部类的成员与内部类的成员名字相同,使用外部类名.this来调用
======================================
类与类的关系
//继承:代码的重用
//实现:表达一种约定,一种能力,用来做设计
//依赖:一个类A以局部变量或参数的形式存在于另一个类B中,称为B依赖于A
//关联:一个类A以成员变量的形式存在于另一个类B中,称B关联于A。
//聚合与组合都是特殊的关联,特殊在语义上得不同,聚合表达的是整体与部分的
//聚合:整体与部分都有自己独立的生命周期,
//组合:整体与部分拥有共同的生命周期
前提:在同一个类中的多个方法
a,方法名字相同
b,参数不同(个数 顺序 类型)
在jvm 编译这个源码确定重载=》静态多态
public
加载顺序:
静态块
实例块
构造方法
实例方法
静态方法 (只能访问静态成员)
this 关键字?
指向对象自身的引用 即一个地址,存的是对象在内存中的位置
静态关键字
使用:修饰方法,成员变量,代码块(静态块)。
=》:jvm 加载一个java类的顺序
public class A{
}
=========================
1,对象数组
2,继承
3,访问权限控制
4,继承构造方法
5,super关键字《=》this
========================
数组:相同类型的,连续空间。数组在声明时必须定长
定义语法:
类型[] 数组名=new 类型[长度];
数组名.length
java的数据类型
基本类型:int long byte boolean short char float double
引用类型: String 数组,自定义的类
存储的演化:
=>基本类型=>基本类型数组=>引用类型数组(长度固定)=> 集合 =>流(持久化)=>数据库
==================
1.对象数组
与基本类型数组一样的用法
1,java中的继承
2,super()关键字
3,权限修饰符 public protected private
java oop中有三个特征
封装 —> 体现数据的安全性(通过访问权限 private 封装=>提供一些访问方法(方法中可以加入逻辑代码))
继承—>体现代码的重要问题
多态—>体现可扩展性问题
2,基类/父类
派生类/子类
3,继承其实就是自动地共享类中非私有的成员属性 和非私有的成员方法的机制
即:继承只能继承父类中的非私有成员
4,java只支持单继承(只能有一个父类,不能有多个)
5,extends 关键字
语法 ;class 子类名 extends 父类名{
成员属性;
成员方法;
}
6,继承是单方向的,即只能子类继承父类
7, public :公有
protected 受保护的 父子的或同包
缺省 包权限
private
8,super 关键字
前提:继承中构造方法额调用顺序 先调用父类的构造方法中,再调用子类的构造方法
用法一
! 在子类的构造方法 super()/super
============
方法的重写 :
1,在子类中(有继承关系)
2,方法签名相同+参数列表相同+返回类型相同
3,权限修饰符只能放大或想等
//实例是谁的,就调用谁的方法
方法的重载
1,发生在一个类中
2,方法名相同,参数列表不同
3,与修饰符及返回类型无关
//类型转换,前提是类型兼容
跳转到方法定义处
使用ctrl+单击
返回调用处 alt +←
=====================================
父类与子类成员相同时,父类引用子类实例,属性是对象是谁的,属性就是谁。
方法是实例是谁,方法就是谁。
=====================================
abstract
不作实现的方法,用abstract修饰
在类中,只能存储在抽象类
在子类中,必须重写父类的抽象方法,除非子类是抽象类
抽象类不能实例化,主要是描述现实中概念的类,没有具体对象
抽象类可以引用子类的实例
子类必须实现抽象类的所有抽象方法,除非子类是抽象类。
===================================
普通内部类可以访问外部类的所有方法
当外部类的成员与内部类的成员名字相同,使用外部类名.this来调用
======================================
类与类的关系
//继承:代码的重用
//实现:表达一种约定,一种能力,用来做设计
//依赖:一个类A以局部变量或参数的形式存在于另一个类B中,称为B依赖于A
//关联:一个类A以成员变量的形式存在于另一个类B中,称B关联于A。
//聚合与组合都是特殊的关联,特殊在语义上得不同,聚合表达的是整体与部分的
//聚合:整体与部分都有自己独立的生命周期,
//组合:整体与部分拥有共同的生命周期