手记

嵌入式狗的 JAVA 入门笔记3 进阶

主要是面向对象编程相关知识。有一定C++基础,也不难。

public class test(){
public test(){
//构造函数 new class时运行
}
{
// 初始化函数,优先构造函数运行
}
static{
//静态初始化函数,只在类加载第一次运行,newclass不再执行,只能访问static成员,或者通过newclass创建对象访问普通成员
}
public void function1(){
//功能函数
}
}

加载通过 包名.类名或者*加载全部
访问修饰:
PUBLIC 本类,本包,子类,其他均可访问
PRIVATE 本类可访问
PROTECTED 本类 本包 子类
默认 本类 本包
一般属性用private 方法用public。通过方法调用修改属性
可以用eclipse直接生产general getter setter。比较方便
this 代表当前对象,同C++。 内部类访问外部可以用 外部类名。this。属性
静态内部类可以直接创建,访问外部静态属性不用实例化,直接类名.熟悉访问

继承 子 extends 父
非private都可以基础
方法重写 名称 返回 参数必须一致
finnal 关键字
修饰类 无法被继承
方法 不允许重写
属性 不进行隐藏初始化或构造中赋值 只能取一种方法
super关键字
访问父类 super.xx super.xxx()

object 所有类的父类。 toString可以建立类输出,
system.out.println(类名) 正常输出地址,建立tostring可以输出属性
equals 比较函数 比较地址
getclass获取类对象 类型 比如相同对象2个实例,getclass是一样的。
类的比较可以通过重写equals 利用getclass比较类型,然后比较属性值来判断

多态
必须是继承关系。
父类引用可以志向本类
父类引用可以指向子类
A是父类,B是子类。
A obj=new A();
A obj=new B();子类不能指向父类
多态不能使用子类独有的方法,可以使用父类,或者子类继承 或者重写的方法

引用类型转换
向上 小类到大类 无风险
向下 大类转小类 有风险 instanceof 避免安全性问题
B obj1=new B();
A obj2=obj1; //向上
obj1=(B)obj2;//向下 强制转换有风险, obj2本身是由obj1转换过来的,实际是可以的,无风险,如果obj2= new A();则存在风险
if A instanceof B //A类是否可以转换到B类
B objb=(B)obja; //避免风险 不能转换时不会强制转换

抽象类
父类知道子类包含的方法,单不知道具体实现
抽象类约束子类有哪些方法,不关注具体实现
abstract 定义抽象类 abstract class A
abstract 定义抽象方法,只做声明不做实现
包含抽象方法的类就是抽象类 页可以含有普通方法
抽象类一般定义引用变量 A obja=new B(); 抽象类A 定义引用子类B

接口
规定类 必须提供一些方法,不关注实现
修饰符 一般用public interface XXXX extends [父接口1 父接口2] 可多继承
接口属性均为常量,public static final 不用加 默认都有
implements接口实现
继承父类实现接口 class XXX extends 父类 implements 接口1、2、3
extends在前
可以使用接口类 引用 实现了接口的类。
如接口IA, 类A implements IA
IA a=new A(); a可以调用接口函数

匿名引用,方法临时
IA a =new IA(){
public void FUNCTION()
{
XXXXXX
}
};a.FUNCTION();

UML
图形语言,开发前期框图

数据模型-属性 方法
业务模型
显示模型

第三课结束~~~~

1人推荐
随时随地看视频
慕课网APP