ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022.07.27 第七小组 王茜 学习笔记

2022-07-27 19:32:51  阅读:114  来源: 互联网

标签:27 实例 静态 接口 --- 调用 2022.07 方法 王茜


一:

   类的内部结构: 
 属性、方法、构造器、代码块、内部类
 
    代码块: 
 代码块又称为初始化块,属于类的一个成员,它是将逻辑语句封装在方法体中。
 通过{}包裹。代码块没有方法名,没有参数,没有返回值,只有方法体,
 它是不需要通过对象或类进行显式的调用,它会在类加载或者创建对象时
 主动的“隐式”调用。
 
  (1)静态代码块
  一个类被加载时会被调用一次,做一些初始化的工作
  (2)实例代码块
   每次创建实例,都会被调用一次,用的很少

二:

  当没有继承关系,就一个类,静态块---实力块---构造器

  当有继承关系,父类静态块---子类静态块---父类实力块---父类构造器---子类实力块---子类构造器

三: 
  用static修饰的结构,不属于任何一个对象
  static内存解析:
  1、静态的变量或者静态方法存在于方法区的。静态的结构不会被垃圾回收。
  2、不属于某一个实例对象,只存在于方法区。调用静态结构,直接用类名.的方式。
 
  实例方法和静态方法互相调用:
  1、静态方法中可以直接调用实例方法吗?不可以!!!
       如果想用,必须对象.方法名
  2、实例方法中可以直接调用静态方法吗?可以!!!
 
  静态的结构的加载,随着类的加载而加载!!!


  非静态的结构,随着对象的创建而加载!!!
 
  在java中调用实例方法,必须要有主体。
 
  静态方法无论在哪里都是类名.方法名调用,同一个类的静态方法之间可以省略类名。

四:

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

五:

外部类:
  一个public声明的类,类名必须和.java的文件名相同。
  生成的.class文件是两个独立的.class
  外部类就是两个类。

六:

  内部类:
  在一个类内部进行其他类结构的嵌套操作。
  我们之前写过的链表,Node类其实主要就是给SuperLinked。
 我们可以把Node类定义在SuperLinked中

七:

 设计模式
  设计模式是人们为软件开发中抽象出可重复利用的解决方案。
  软件开发工程师之间沟通的“行话”。
 
  面向对象的设计原则。
  1、开闭原则(Open Close Principle)
       对扩展开放,对修改关闭。(继承,实现接口)
       我们可以通过“抽象约束,封装变化”来实现开闭原则。
       通过接口或者抽象类为软件定义一个相对稳定的抽象层。
       将相同的可变因素封装在相同的具体实现类中。派生一个实体类就可以了。
  2、里氏代换原则
       子类继承父类时,除了添加新的方法完成新增的功能外,尽量不要重写父类的方法
  3、依赖倒转原则
       要面向接口编程,不要面向实现编程。
       a、每个类尽量提供接口或抽象类,或者两者兼备
       b、变量的类型声明尽量是接口或者是抽象类
       c、任何类都不应该从具体类派生
       d、使用继承时,要遵循里氏代换原则。
  4、接口隔离原则
       使用多个隔离的接口。
  5、迪米特法则
  6、合成复用原则
  7、单一原则:一个类只做一件事
 
 八:

单例模式
 一个类只有一个实例。

 饿汉式单例模式。
 不管以后会不会使用到该实例化对象,先创建了再说,很着急的样子。
 实现的办法就是直接new实例化。

懒汉式(延迟加载)
什么时候调用getInstance方法,什么时候new

 内部类实现单例
  也是懒汉式的一种,这种懒汉式没有线程的问题
  结合了饿汉式和懒汉式的优点:
  只要不调用getInstance方法,就不会使用内部类,
  内部类一旦被使用一次只会被初始化一次,以后一直用的时INSTANCE静态常量了。

九:

 箭头函数:JDK8的新特性
 函数式接口:如果一个接口只有一个抽象方法,这个接口就称为函数式接口。
 
  可以用注解@FunctionalInterface标识。
 
  1、有参数,有返回值。
   (i,j) -> {
       return i + j;
   }
   如果方法体只是一句返回值(i,j) -> i+j
  2、有参数,无返回值
   (i,j) -> {
       // 方法体
   }
   如果方法体只有一句话(i,j) -> 方法体的一句话
  3、无参数
   ()->{
       方法体
   }

标签:27,实例,静态,接口,---,调用,2022.07,方法,王茜
来源: https://www.cnblogs.com/wx1019/p/16526013.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有