首页 > 其他分享 >m1_day11

m1_day11

时间:2024-05-10 23:31:11浏览次数:20  
标签:面试题 修饰符 访问 m1 day11 修饰 static 方法

课程内容:
  • StringBuffer类常见的方法

  • 面向对象的高阶特征

    • 访问权限修饰符

    • static修饰符

    • final修饰符

    • abstract修饰符

  • 单例模式


StringBuffer类常见的方法:*
  • append(String):往字符串里面追加连接

  • reverse():翻转字符串

  • insert(int,char):往指定下标处插入元素


访问权限修饰符:
  • public : 公共的 表示谁都可以使用的

  • protected :受保护的 只有本包类可以访问 + 包外有继承关系的子类中可以访问

  • (default): 默认的 只有本包【文件夹】内可以访问

  • private : 私有的 只有本类可以访问的

  • ===============================================

  • 各自能修饰哪些内容

  • 类 成员[属性/方法]

  • public T T

  • protected F T

  • default T T

  • private F T

  • 面试题:A类里面定义一个public修饰的方法 在B类里面可以访问吗?

    不一定
    如果B类想要访问A类里面的方法的话 前提是需要前访问倒A类
    如果A类都访问不到 里面即使方法是public修饰的 B类也访问不了

    一个类里面的方法 访问权限最大应该和类保持相同的权限

static:静态的 修饰符 相当于汉文中的形容词 *
  • 面试题:static能修饰哪些东西?

  • 属性:

    • 静态属性 表示整个类型共享一份的属性 不是每个对象都有一份的属性 依赖于类存在

    • 普通属性:表示每个对象都有一份的属性 依赖于对象存在

    • eg: System.out[static]

    • eg: System.in [static]

    • 面试题:Java中属性和变量谁大?变量[成员、属性 + 局部]

    • 面试题:static为什么不能修饰局部变量?

      static修饰的变量要求类一加载就要在内存里面找到他但是局部变量只有方法调用 代码执行到那一行才能创建 类的加载永远在前面 方法调用永远在后面 这两个时间点赶不上一起 所以static不能修饰局部变量
  • 方法:

    • 静态方法 需要拿着类名去调用

    • 普通方法:需要拿着对象去调用

    • eg:Math.random() + Math.pow() + Math.sqrt()

    • eg:System.arraycopy() + Arrays.copyOf()

    • 面试题:静态方法和普通方法谁调用简单?

      • 静态方法 类名.静态方法

    • 面试题:既然静态方法调用简单 开发的时候为什么不把一个类里面所有的方法全部写成静态的呢?

      因为静态方法里面只能**直接的**访问静态的成员 
      如果想要在静态的方法里面访问非静态的成员 需要创建对象 拿着对象去访问
  • 代码块:初始化一个普通属性的

    • 如果我们想要初始化一个静态属性 应该使用静态代码块 -》 static{}

    • 普通代码块:用来给普通属性赋值 创建对象的时候执行 创建几个对象执行几次

    • 静态代码块:用来给静态属性赋值 当类第一次被加载的时候执行 从头到尾执行一次


final : 最终的 修饰符 相当于汉文中的形容词
  • 面试题:final能修饰哪些东西?

  • 类:最终类 "骡子类"

    • 特点:不能有子类 但是可以有父类

    • eg:String和Math类都是最终类

  • 方法:最终方法

    • 特点:只能被继承 不能被覆盖

  • 变量[成员 + 局部]:最终变量 常量

    • 特点:一旦赋值之后 就不能再修改“值”

    • final修饰基本数据类型 保护数值不变

    • final修饰引用数据类型 保护地址不变

    • final double Π = 3.14;


abstract : 抽象的 修饰符 相当于汉文中的形容词
  • 面试题:abstract能修饰哪些内容?

  • 类:抽象类 表示这个类型不形象不具体

    • 特点:不能创建对象

    • 面试题:抽象类是类吗?是

    • 抽象类里面有构造方法吗?有 Java中只要是个类就有构造

    • 抽象类是类 有构造方法 但是不能创建对象 抽象类中的构造方法作用?

      • 给子类构造方法首行的super()调用的

  • 方法:抽象方法 表示这个类型一定会这个方法 但是现在给不出具体的实现 待留给子类去实现

    • 一个类里面只要出现抽象方法 这个类就要变成抽象类

    • 抽象类里面既可以写抽象方法 也可以写普通方法

    • 面试题:final和abstract能不能同时修饰一个方法?

      • 不可以

      • final修饰的方法叫做最终方法 不能被覆盖

      • abstract修饰的方法叫做抽象方法 需要子类去覆盖


单例模式:

模式:Java中本没有模式的概念 用的程序员多了于是有了模式

---------周树人

设计模式:23种

单例模式:控制一个类有且只有一个对象

标签:面试题,修饰符,访问,m1,day11,修饰,static,方法
From: https://www.cnblogs.com/zhaodenghui33/p/18185490

相关文章

  • m1_day13
    课程内容:Object类的核心方法集合框架集合之ArrayList集合Object类的核心方法:Object是Java中的鼻祖类所有类的直接父类/间接父类toString():制定一个对象打印显示的内容任何一个引用数据类型都默认继承Object类获得toString()方法在Object类中toString()......
  • m1_day14
    课程内容ArrayList集合JCFCollectionMap[单值类型的集合]......
  • m1_day1
    课程内容:Java的优势Java的优势:跨平台*什么是平台平台指的是操作系统常见的操作系统:WindowsUnixLinuxSolaris[Sun]什么是跨平台用Java开发出来的应用程序不受底层操作系统的限制可以运行在所有的操作系统上面这是早期程序员的共同目标底层的功臣:JVM=j......
  • m1_day3
    课程内容:Java中的数据类型Java中的运算符Java中的数据类型什么是数据类型数据类型可以理解成数据的单位Java是一个强类型的编程语言所有的变量在第一次出现的时候必须有数据类型第二次出现不需要数据类型​钱:元角 分百美元日元个数:个只条栋....长......
  • m1_day4
    课程内容:Java中的运算符Java中的变量Java中的运算符:高-》低[+-*/%]+:当+遇到String类型的时候不再表示算数加法而是表示追加连接任何一个数据类型想要变成String+""intx=45;Stringy=x+"";*:当心数值超出int类型最大边界注意使用lon......
  • Multisim14--软件简介及安装教程(内含安装包)
    安装包见文章末尾 一、软件简介Multisim是美国国家仪器(NI)有限公司推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。工程师们可以使用Multisim交互式地搭建电路原......
  • cf gym101981e Eva and Euro coins
     20182019-acmicpc-asia-nanjing-regional-contest-en.pdf(codeforces.com) 这类字符串的能否从s状态到达t状态的题。还可以删除若干子串后然后比较。感觉是一种套路。 100↔111↔001011↔000↔110 01001↔10010可以移动 用栈,如果找到k个连续相同,然后栈删掉这k......
  • Mac(M1)配置基于ARM64的Tensorflow
    以下步骤最好先执行condaconfig--remove-keychannels 删除conda镜像源pipconfigunsetglobal.index-url 删除pip镜像源然后接下来的步骤最好挂上梯子。1.下载miniforge:从https://github.com/conda-forge/miniforge上找到arm64(AppleSilicon)版本进行下载,下一步下一步的......
  • 笔记:J1939协议之DM1
    目标:学习SAE1939-73中的DM1,尤其是多包故障的传输规则一、基本概念SAE1939-73即CAN总线J1939协议的应用层-诊断符号缩写的含义DM1诊断信息1,当前故障码DM2诊断信息2,历史故障码DM3诊断信息3,历史故障码的清除/复位DM4诊断信息4,停帧参量DM5诊断信息5,诊断准备就绪DM6诊断信......
  • day11_我的Java学习笔记 (static_静态成员变量+静态成员方法_工具类、代码块_静态代码
    0.面向对象进阶1.static静态关键字1.1static是什么,static修饰成员变量的用法Java成员变量成员方法Python类(对象)属性类(对象)方法static修饰成员变量的应用:在线人数统计1.2static修饰成员变量的内存原理1.3static修饰成员方法的基本......