ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java一些新的知识

2022-07-18 16:06:21  阅读:145  来源: 互联网

标签:java ArrayList 知识 static 数组 new 一些 父类 方法


集合ArrayList

ArrayList list1 = new ArrayList();
// ArrayList<限制类型> list = new ArrayList<>();
ArrayList<String> list2 = new ArrayList<>();

注意进行.equals()比较时

s = "test"
"test".equals(s) // 而不是s.equals("text")

集合ArrayList

ArrayList list1 = new ArrayList();
// ArrayList<限制类型> list = new ArrayList<>();
ArrayList<String> list2 = new ArrayList<>();

注意进行.equals()比较时

s = "test"
"test".equals(s) // 而不是s.equals("text")

问题分析之————static关键字

就是多次创建对象,导致产生了不同的数组,本来school应该只存在一个,用static关键字解决
image

  • static修饰的特点 (记忆)
    • 被类的所有对象共享
      是我们判断是否使用静态关键字的条件
    • 随着类的加载而加载,优先于对象存在
      对象需要类被加载后,才能创建
    • 可以通过类名调用
      也可以通过对象名调用
  • 5.3static关键字注意事项 (理解)
    • 静态方法只能访问静态的成员
    • 非静态方法可以访问静态的成员,也可以访问非静态的成员
    • 静态方法中是没有this关键字

方法重写————static修饰的方法不能被重写(Override)

class Zi extends Fu {
	@Override // 注解,可以用来检查当前的方法是否是一个正确的重写方法
	public static void show() { // 会报错
		System.out.println("Zi...")
	}
}

抽象类

把共性的方法抽取到父类之后发现,该方法的时间逻辑无法在父类中给出具体明确,该方法就可以定义为抽象方法

抽象类不能创建对象,抽象类有有构造方法
抽象类的子类:必须重新父类中的所有抽象方法,或者 将自己也变成一个抽象类(意义不大)
抽象类里面的方法可以是普通方法或者抽象方法(甚至可以没有抽象方法)

final关键字

常量命名规范:大写字母,用下划线_分割
final修饰成员变量,要么在初始化时直接给值,要么正在构造方法结束之前完成赋值

改进StudentDao,数组用ArrayList替换

尽量在不修改原有代码下进行优化
数组相关代码需要保留下来

  • 步骤:
    1. 将原本的StudentDao复制一份,重命名为OtherStudentDao
    2. 在里面创建一个ArrayList集合容器对象
    3. 关于OtherStudentDao中的方法,其方法声明要和StudentDao中相同
      同时,如果其方法的返回值为数组,有两种方式
      - 第一种是直接将返回值修改为ArrayList
      - 第二种是在该方法中创建一个数组(Student[] students = new Student[stus.size()];),将ArrayList的数据传入该数组,然后和之前一样返回该数组
      - 更推荐使用第二种
    4. 完善方法(添加、删除、修改、查看)
      - 数组.length 改为 ArrayList.size()
      - 删除:数组[index]=null 改为 ArrayList.remove(index) - 修改:数组[index]=newStu改为ArrayList.set(index, newStu)```
    5. 最后一步,将StudentService中的StudentDao对象,替换为OtherStudentDao

接口

当一个类中所有方法都是抽象方法时,我们可以将其定义为接口

  • 规则的定义
  • 程序的扩展性
// interface关键字
public interface i1 {
	
}
// 接口不能实例化
// 接口和类之间的关系是实现关系
public class s1 implements i1 {
	
}

多态

public class Test2Polymorpic {
    /*多态的成员访问特点:
      成员变量: 编译看左边 (父类), 运行看左边 (父类)
      成员方法: 编译看左边 (父类), 运行看右边 (子类)
    */
    public static void main(String[] args) {
        Fu f = new Zi();
        System.out.println(f.num);
        f.method();
    }
}

标签:java,ArrayList,知识,static,数组,new,一些,父类,方法
来源: https://www.cnblogs.com/succodes/p/16379791.html

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

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

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

ICode9版权所有