27日
学习了ArrayList,二维数组,面向对象(封装、继承、多态)的前置内容:类,属性,方法
ArratList学习心得:集合的定义方法 :
ArrayList<引用数据类型> 集合名称 = new ArrayList<引用数据类型>();一些常用方法可以在jdk api1.8文档中查阅,常用的有add,remove
二维数组学习心得:二维数组定义方法:
* 1、数据类型[][] 数组名 = new 数据类型[m][n];
* m:二维数组中一维数组的个数
* n:一维数组中元素的个数
* m必须有值,n可以没有
* 每个一维数组的元素下标也是从0开始的
面向对象:
类与类之间产生关系分为实体类和方法类
实体类中包含属性,属性和类名需要见明知意 方法类包括方法,方法的调用能够让我们的代码写起来更简单,调用更加简单,减少重复代码
访问控制修饰符:
public:整个项目中都可以使用
private:只有在本类中可以使用
default(package):在本类中和同一个包中可以使用
protected:在本类中,同一个包中,以及不同包的子类中创建子类自己的对象可以使用父类中
protected修饰的元
如果定义方法,没有特殊要求就使用public 公有的
如果定义属性,没有特殊要求就使用private 私有的
借用一下别人的表格。
| 同一个类 | 同一个包 | 不同包的子类 | 不同包的非子类 |
√ | ||||
Default | √ | √ | ||
Protected | √ | √ | √ | |
Public | √ | √ | √ | √ |
28日
面向对象:
构造函数在有类并且有属性的基础上进行处理,构造方法其实就是为了个属性赋值
员工管理系统案例完成截图
1日
学习类与类之间的关系,主要学习了继承
继承学习心得:可以将两个事物之间相同的属性提取出来然后两个事物继承这个公共类,子类能够继承父类中非私有的属性和方法,但是构造函数虽然是public修饰的,不能被子类继承。一个父类可以有多个子类,但是一个子类只能有一个父类,好处就是子类可以直接调用父类里面元素
在继承中:
语法:
public class F{
//属性
//构造函数
//方法
}
public class Z extends F{
//子类自己特有的属性
//子类的构造函数
//子类自己特有的方法
}
游离块学习心得:在它被调用的时候会在所有内容之前被执行
static:
关于static的调用,可以并且推荐:直接使用类名进行调用
final:可以修饰:
类: 被final修饰的类不能被继承
属性:
被final修饰的属性不能再被赋值,所以我们在定义这个属性的时候必须给其符初始值,因为不能被改变了.所以叫常量.整个单词的字母全部大写
方法:
被final修饰的方法不能被重写
Math方法里面的pi就是被final定义了。
所以final被称为断子绝孙关键字
2日
学习了可变长参数和递归
public void m(String... s){}
public void m1(int... a){}
可变长参数不能够在后面继续添加别的参数,因为在给参数进行赋值的过程中,我们无法确定,哪个值是给参数的
递归
举个斐波拉契数列的例子
public class Digui { public int fei(int n){ if (n==1||n==2){ return 1; }else { return fei(n-1)+fei(n-2); } }
Java内存分配学习心得:关于栈和队列的应用在考研时已经学习
3日
抽象类与接口
抽象类: public abstract class 类名{
//全局变量
//普通方法
//构造函数
//抽象方法
}
public abstract <返回值的数据类型> 方法名(参数列表);
没有方法体,也没有大括号
不能和private static final关键字一起使用
接口特点:
1、接口中定义的变量是常量,值不可以被改变。
如果是基本数据类型的常量,值不可以被改变
如果是引用数据类型的常量,地址不可以被改变
2、接口中定义的方法可以省略去abstract不写
3、接口不可以创建对象
4、实现类必须实现接口中所有的抽象方法才能创建对象,如果不想实现,这个类就必须是抽象类
5、类与类之间:单继承 一个子类只能有一个父类
类与接口之间:多实现, 类 implements 接口1,接口2... 一个实现类可以实现多个接口
接口和接口之间:多继承, 一个接口可以有多个父接口
一个类继承于一个父类的同时还可以实现多个接口
接口与抽象类的区别
抽象类 | 接口 | |
---|---|---|
声明关键字 | abstract class | interface |
内部成员 | 类中可以定义的,抽象类都可以 然后另外添加了抽象方法 | 静态常量 抽象方法 static方法 default方法 |
抽象方法 | 必须使用abstract进行修饰 | 可以省略不写 |
和类的关系 | 单继承 | 多实现 |