前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java基础-2

java基础-2

原创
作者头像
c2k2o6
发布2022-02-15 14:18:26
3090
发布2022-02-15 14:18:26
举报
文章被收录于专栏:c2k2o6

burp collaborator client

图片
图片

hashmap的put函数

图片
图片

调用hash方法

图片
图片

调用hashCode方法

java反射

代码语言:javascript
复制
Student student = new Student();
student.doHomework("数学");


Class clazz = Class.forName("reflection.Student");
Method method = clazz.getMethod("doHomework",String.class);
Constructor constructor = clazz.getConstructor();
Object object = constructor.newInstance();
method.invoke(object,"chinese");

面向对象的三大特性

  1. 继承,对象的一个新类可以从现有的类中派生,派生类可以从它的基类那继承方法和实例变量,且派生类可以修改或新增新的方法使之更适合特殊的需求
  2. 封装,将客观事务抽象成类,每个类可以把自身数据和方法只让可信的类或对象操作,对不可信的进行信息隐藏
  3. 多态,允许不同类的对象对同一消息作出响应,不同对象调用相同方法即使参数也相同,最终表现行为是不一样的
图片
图片

多态的优点

  1. 消除类型之间的耦合关系
  2. 可替换性
  3. 可扩充性
  4. 接口性
  5. 灵活性
  6. 简化性

多态存在的3个必要条件

继承

重写

父类引用指向 子类对象 Parent p = new Child();

当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。

多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。

代码语言:javascript
复制
class Shape {
    void draw() {}
}
 
class Circle extends Shape {
    void draw() {
        System.out.println("Circle.draw()");
    }
}
 
class Square extends Shape {
    void draw() {
        System.out.println("Square.draw()");
    }
}
 
class Triangle extends Shape {
    void draw() {
        System.out.println("Triangle.draw()");
    }
}

jdk和jre的区别

jdk:java开放工具包 java development kit  提供java的开放环境 和 运行环境

jre  :java 运行环境 java runtime environment  提供java运行所需的环境

jdk包括了jre ,如果只运行java程序 安装jre即可 ,如果要编写 java程序 需要安装  jdk

java访问修饰符

default  默认访问修饰符  在同一包内 可见

private  在同一类内 可见,不能修饰类

protected 对同一包内的类和所有子类可见  不能修饰类

public 对所有类可见

构造方法  成员变量初始化   静态成员变量 三者初始化顺序

先后顺序:

静态成员变量,成员变量,构造方法

详细先后顺序:

父类静态变量,父类静态代码块,子类静态变量,子类静态代码块,父类非静态变量,父类非静态代码块,父类构造函数,子类非静态变量,子类非静态代码块,子类构造函数

接口和抽象类的相同点和区别

相同点:

  1. 都不能被实例化
  2. 接口的实现类   或 抽象类 的 子类   需要实现接口 或 抽象类中 相应的方法 才能被实例化

不同点:

  1. 接口只能有方法定义,不能有方法的实现,而抽象类可以有方法的定义与实现
  2. 实现接口的关键字 implements   继承抽象类的关键词 extends  ,一个类可以实现多个接口,只能继承一个抽象类
  3. 子类和父类之间存在逻辑上的层次结构,推荐使用抽象类,有利于功能的累积,,当功能不需要,希望支持差别较大的两个或更多对象间的特定交互行为,推荐使用接口。使用接口能降低软件系统的耦合度,便于日后维护或添加删除方法。

https://zhuanlan.zhihu.com/p/368139338

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档