java程序员岗位历史_一个Java程序员的成长历程(010)天

阶段复习

复习成果:

复习内容:面向对象的内存分析

知识要点:栈的特点:1:栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等)。

2:JVM为每个线程提供一个栈,用于存放该线程执行方法的信息(实际参数,局部变量等)。

3:栈属于线程独有,不能实现线程间的共享!

4:栈的存储特性是:”先进后出,后进先出”。

5:栈是由系统自动分配,速度快,栈是一个连续的内存空间。

堆的特点:1:堆用来存储创建好的对象和数组(数组也是对象)。

2:JVM只有一个堆,被所有线程共享

3:堆是一个不连续的内存空间,分配灵活,速度慢

方法区的特点:1:JVM只有一个方法区,被所有线程共享

2:方法区实际也是堆,只是用于存储类,常量相关的信息。

3:用来存放程序中永远是不变或唯一的内容。(来信息【class对象】、静态变量、字符串常量等)

复习内容:抽象方法和抽象类

知识要点:抽象方法:使用abstract修饰的方法,没有方法体,只有声明。定义的是一种“规范”,就是告诉子类必须要给抽象方法提供具体的实现。

抽象类:包含抽象方法的类就是抽象类。通过abstract方法定义规范,然后要求子类必须定义具体实现。通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用。

抽象类的使用要点:1:有抽象方法的类只能定义成抽象类

2:抽象类不能实例化,即不能用new来实例化抽象类。

3:抽象类可以包含属性。方法。构造方法。但是构造方法不能用来new实例,只能用来被子类调用。

4:抽象类只能用来被继承。

5:抽象方法必须被子类实现。

复习内容:多态以及对象转型

知识要点:多态:多态指的是同一个方法调用,由于对象的不同可能有不同的行为。现实生活中,同一个方法,具体实现会完全不同。

多态的要点:

1:多态是方法的多态,不是属性的多态(多态与属性无关)。

2:多态的存在要有3个必要条件:继承,方法重写,父类引用指向子类对象。

3:父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了。

多态的利弊:多态的主要优势是提高了代码的可扩展性,符合开闭原则。但是多态也有弊端,就是无法调用子类特有的功能。

自动类型转换:父类引用指向子类对象,我们称这个过程为向上转型,属于自动类型转换。

强制类型转换:向上转型后的父类引用变量只能调用它编译类型的方法,不能调用它运行时类型的方法,这时候需要进行类型的强制转换,称之为向下转型。

注意点:在向下转型过程中,必须将引用变量转成真实的子类类型(运行时类型),否则会出现类型转换异常ClassCastException.为了避免这种异常,可以使用instanceof运算符进行判断。

开闭原则:就是让设计的系统对扩展开放,对修改封闭。

Instanceof:instanceof是二元运算符,左边是对象,右边是类;当对象是右面类或子类所创建对象时,返回true;否则返回false。

预习成果:

预习内容:容器:泛型的概念以及自定义泛型的基本语法

知识要点:容器:用来容纳和管理数据。

泛型:JDK1.5后增加的,可以帮助建立类型安全的集合。

泛型的优势:在使用了泛型的集合中,遍历时不必进行强制类型转换。JDK提供了支持泛型的编译器,将运行时的类型检查提前到了编译时执行,提高了代码可读性和安全性。

泛型的本质:就是“数据类型的参数化”。可以将泛型理解为数据类型的一个占位符(形式参数),即告诉编译器,在调用泛型时必须传入实际类型。

泛型类的声明:

class MyCollection {// E:表示泛型;

Object[] objs = new Object[5];

public E get(int index) {// E:表示泛型;

return (E) objs[index];

}

public void set(E e, int index) {// E:表示泛型;

objs[index] = e;

}

}

其中泛型E像一个占位符一样表示“未知的某个数据类型”,在真正调用的时候传入这个“数据类型”。

泛型类的应用:

public class TestGenerics {

public static void main(String[] args) {

// 这里的”String”就是实际传入的数据类型;

MyCollection mc = new MyCollection();

mc.set("aaa", 0);

mc.set("bbb", 1);

String str = mc.get(1); //加了泛型,直接返回String类型,不用强制转换;

System.out.println(str);

}

}

预习内容:Collection接口

知识要点:Collection:它表示一组对象,是集中,收集的意思。

Collection接口的两个子接口是List,Set接口。

Collection接口中定义的方法:

由于List、Set是Collection的子接口,意味着所有List、Set的实现类都有上面的方法.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值