其他分享
首页 > 其他分享> > 2022-07-27 第二组 刘禹彤 学习笔记

2022-07-27 第二组 刘禹彤 学习笔记

作者:互联网

打卡17天

今天学习面向对象的最后一部分

 

 

###学习笔记

2.static静态

属性,方法,代码块

2.不属于某一个实例对象,只存在于方法区,调用静态结构,直接用类名.的结构

1.静态方法中不可以直接调用实例方法,如果想用,必须对象.方法名

2.实例方法中可以直接调用静态方法

非静态的结构,随着对象创建而加载

在java中调用实例方法,必须要有主体,方法不能直接调用

静态方法无论在哪里都是类名.方法名调用,同一个类的静态方法之间类之间省略类名

接口里的常量默认public static final

开发中基本上常量的声明都是public static final

静态方法没有重写的概念

3.this和super

  1. 无论是this还是super都不可以在静态结构中使用
  2. this和super。 this.方法。 super.方法
  3. 静态结构是属于类的,静态结构是优先于对象就存在的
  4. this和super,必须有对象才能存在,必须要有实例

4.外部类

5.内部类

6.设计模式

设计模式是人们为软件开发中抽象出可重复利用的解决方案

软件开发工程师之间沟通的行话

面向对象的设计原则:1.开闭原则(Open Close Principle)

对扩展开放,对修改关闭(继承,实现接口)

我们可以通过“抽象约束,封装变化”来实现开闭原则

通过接口或者抽象类为软件定义一个相对稳定的抽象层

将相同的可变因素封装在相同的具体实现类中,派生一个实体类就可以

2.里氏代换原则

子类继承父类时,除了添加新的方法完成新增的功能外,尽量不要重写

3.依赖倒转原则

要面向接口编程,不要面向实现编程

a.每个类尽量提供接口或抽象类,或者两者兼备

b. 变量的类型声明尽量是接口或者是抽象类

c.任何类都不应该从具体类派生

d.使用继承时要遵循里氏代换原则

4.接口隔离原则

使用多个隔离接口

5.迪米特原则

6.合成复用原则

7.单一原则

一个类只做一件事

7.箭头函数

JDK8的新特性

函数式接口:如果一个接口只有一个抽象方法,这个接口就成为函数式接口

可以用注解@FunctionalInterface标记

总结:1.有参数,返回值

(i,j) -> { return i + j;}

如果方法体只是一句返回值(i,j) -> i+j

2、有参数,无返回值

(i,j) -> {// 方法体}

如果方法体只有一句话(i,j) -> 方法体的一句话

3、无参数

()->{方法体}

8.单例模式

1.别人不能new,构造器私有化,不能在类的外部通过new去实例化

2.在该类的内部产生一个唯一的实例化对象,把他封装成static类型

3.定义一个静态方法,返回这个唯一的对象

不管以后会不会使用到该实例化对象,先创建了再说

实现的办法:直接new实例化

什么时候调用getInstance方法,什么时候new

这种懒汉式在多线程环境中完全错误的,根本不能保证单例的状态

(加锁)

也是懒汉式的一种,这种懒汉式没有线程的问题

结合了懒汉和饿汉式的优点:

只要不调用getInstance方法,就不会使用内部类

内部类一旦被使用一次就会被初始化一次,以后一直用的是Instance静态常量

###学习心得

今天学习了静态类和单例模式,掌握的不太好,课下还需多看录课和笔记

###掌握情况:一般

###课堂练习

public class Ch01 {
    static {
        System.out.println("外部类被加载。。。");
    }
    //实例内部类
    public class Inner{
        {
            System.out.println("实例内部类被加载。。。");
        }

    }
    //静态内部类
    public static class InnerStatic{
        static {
            System.out.println("静态内部类被加载。。。");
        }

    }

    public static void main(String[] args) {
//        Ch01 ch01 = new Ch01();
        //这就是实例内部类的对象
        Inner inner = new Ch01().new Inner();
        //这就是静态内部类的对象
        InnerStatic innerStatic = new Ch01.InnerStatic();

    }
}

###结果

 

 

标签:27,静态方法,07,静态,实例,static,new,刘禹彤,方法
来源: https://www.cnblogs.com/lyt0612/p/16526103.html