博客第二天-java基础的学习收获

来源:互联网 发布:iconkit for mac 破解 编辑:程序博客网 时间:2024/05/18 01:07

罗列一下今天学习的知识点

1.静态代码块

2.单例模式的两种形式,饿汉式和懒汉式

3.对象特性之一:继承

4.java中关键字final的介绍


先从静态代码块说起,首先是格式

格式{    静态代码块中执行的语句; }
它的特点是随着类的加载而执行,而且只执行一次,作为初始化用的。//下次记得带点案例,感觉说的内容好空洞


然后是二十三中设计模式中其一的单例设计模式。

它的存在是为解决一个类在内存中只存在一个对象,就算被重复调用,也只产生一个对象。

描述一下它的思想

1.为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象。

2.为了让其他程序可以访问该类对象,只好在本类中,自定义一个对象。

3.为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式

实现的步骤如下

1.将构造函数私有化

2.在类中创建一个本类对象

3.提供一个方法可以获取该对象

而单例模式有两种形式,一种是饿汉式,一种是懒汉式,一般情况下,使用饿汉式,因为懒汉式需要上锁,影响效率,下面简单描述一下。

1.饿汉式

class Single{private static Single s = new Single();private Single(){}public static Single getInstance(){return s;}}
2.懒汉式(延时加载)
class Single{private static Single s = null;private Single(){}////其中synchronized是上锁,避免两个类同时调用public static synchronized Single getInstance(){if (s==null)s = new Single();return s;}}



最后是对象的特性之一 继承

用个人的话来讲,就是:类是对象共性的抽象描述,若类之间有共性存在,则继续抽取,作为父类存在(super)

它的优点:

1.提高了代码的复用性

2.让类与类之间产生了关系,有了这个关系,才有了多台的特性

注意,千万不要为了获取其他类的功能,简化代码而继承,必须是类与类之间有所属关系才可以继承所属关系(PS:java只支持单继承,不支持多继承,但支持多层继承)

如何使用一个继承体系中的功能呢?——想要使用体系,先查阅体系父类的描述,因为父类中定义的是该体系中共性功能,而了解了共性功能,就可以知道该体系的基本功能,那么这个体系可以基本使用了。

具体调用时,创建最子类的对象——一是因为父类可能不能创建对象,二是创建子类对象可以使用更多的功能,包括基本的,也包括特有的。

关于super对父类的调用,使用方法借鉴this

子父类函数特点-重写(覆盖)-提升程序和软件的复写性

当子类继承父类,沿袭了父类的功能,到子类中,但子类虽具备该功能,但是功能的内容和父类不一致,这是,没有必要定义新功能,而是使用覆盖特殊,保留父类的功能定义,并重写功能内容。(也就是使用的还是子类的功能)注意:子类覆盖父类,必须保证子类权限大于等于父类。去呗(重载。重写)重载只看函数的参数列表,而重写必须要子父类方法一模一样。

前面是子父类的函数特点,这里再介绍子父类中的构造函数(注意函数和构造函数区别)

子类中有一条隐式语句,super();  而且子类中每一个构造函数,都会访问一遍父类中的构造函数。  

贴上一个最简单的子父类构造函数的应用

class Person{private String name;Person(String name){this.name=name;}void show(){}}class Student extends Person{Student(String name){super(name);//直接拿父类,完成赋值}void method(){super.show();//直接拿父类,完成赋值}}
结论:子类中的所有构造函数,默认都会访问父类中空参数构造函数,因为子类中隐式super();

当父类中没有空参数构造函数,子类必须手动通过super语句来访问。

在子类中构造函数也可以用this();但必有一个访问父类。(例子略)


final

1.可以修饰类,函数,变量

2.被final修饰的类不可以被继承//为了避免被继承,被子类复写功能

3.被final修饰的类不可被复写

4.final修饰的变量是一个常量,只能赋值一次,既可以修饰成员变量,也可以修饰局部变量。ps:常量的书写规范所有字母都答谢,如果由多个单词组成,单词间通过"_"来连接

5.内部类定义在类中的局部位置上时,只能访问该局部被final修饰的局部变量(好像突然有点不是很懂)


对今天进行简单的总结。整体进度上拖得比较慢,今天大体上也只是完成了一天的视频教程的量。

关于项目的制作,不仅需要基础知识,还需要自己对JDBC和Spring的运用和理解,所以在明天的学习中,应该对它有一些简答的了解,同时,寻找合适的模板来学习,用来制作  后天管理系统  或者  图书馆管理系统  ,不然到时候什么不会,转岗还是比较难实现的。


0 0