0%

实现步骤

1、循环遍历出所有网段ip
2、利用多线程多并发同时探测22端口
3、把探测出来的存活机进行密码爆破
4、爆破成功则去拿到主机文件并保存ip、密码等信息
5、爆破不成功则记录该ip,进行后续操作。

代码示例

阅读全文 »

抽象类

  • 关键字:abstract
1
2
abstract class 类名 {}			//抽象类
public abstract void eat(); //抽象方法
  • 特点:

    1、抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口

    2、抽象类不能实例化,但可以通过多态(子类)来说实现实例化

    3、abstract强制子类重写

阅读全文 »

多态前提

  • a : 要有继承关系。
  • b : 要有方法重写。
  • c : 要有父类引用指向子类对象。

    例有一个父类fu和一个子类zi,那么父类引用子类对象为:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
      fu a = new zi(); ```
    <!--more-->
    # 成员变量
    - 编译、运行看左边(父类)


    也就是创建对象后,`子类引用对象就优先调用子类(这样就不是多态了,因为它没有父类引用子类对象)`,`父类引用对象就优先调用父类(编译运行看左边)`


    - 解析:创建对象时,首先在堆中创建子类的对象(this),而这个子类的对象中有一个区域指向super,如果引用这个对象的是`父类`那么这个引用指向`super`区域,否则指向`this`区域


    # 成员方法
    - 编译看左边(父类)、运行看右边(子类)。`动态绑定`


    ps:父类中一定要有和子类一样的方法,父类中的那个方法可以理解为一个跳板跳转到子类中的方法中。



    # 静态成员方法
    - 与成员变量同理,`编译、运行看左边(父类)`,所以`多态中静态方法不存在重写`

    # 多态的弊端
    - 父类引用不能使用子类`特有的属性和行为`,但是能通过

    zi b = (zi)a; //强转类型```

多态的好处

1、提高了代码的维护性(继承保证)

2、提高了代码的扩展性(由多态保证)

多态的使用

1、开发是很少在创建对象的时候使用多态,而是直接创建子类引用子类对象

2、在需要使用方法使代码简洁时,当做参数使用多态效果最好,因为扩展性强

比如:现有三个类“动物”“”“”动物是父类,当我们有很多只狗和猫需要跑时,就可以使用方法函数来使代码简洁,在调用这个方法时可以创建好一个 狗 或 猫 的对象然后传给参数,这就需要使用到多态了,如果不使多态那么就需要给狗和猫分别创建一个函数。

  • 不过在方法中使用多态还有一个问题:狗 和 猫 都有各自特有的功能与属性,如果调用猫的功能,但是传入的对象是狗,那么就出错了。

  • 解决方法:关键字 instanceof

ps:了解一下,开发中用到的不多,一般都用到方法重写

  • 代码实例:
1
2
对象变量A   instanceof   对象变量B
//如果是相同的类返回true

多态中的代码分析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class A {
public void show() {
show2(); //这里调用的是子类中的show方法
}
public void show2() {
System.out.println("我");
}
}
class B extends A {
public void show2() {
System.out.println("爱");
}
}
class C extends B {
public void show() {
super.show();
}
public void show2() {
System.out.println("你");
}
}
public class Test2DuoTai {
public static void main(String[] args) {
A a = new B();
a.show();//返回一个爱

B b = new C();
b.show();
}
}
  • 得出结果:

    在多态中,父类中的方法调用另一个方法,且被调用的方法都存在于子类与父类中的情况下,优先调用子类的方法,也就是父类方法成为了一个跳板,跳转到了子类的方法中

  • 还是那句话:

    成员方法编译看左边(父类)、运行看右边(子类)

    成员变量编译看左边(父类)、运行看左边(父类)

一、静态方法与静态变量

静态方法

  • 如果一个类中所有方法都是static静态的,那么需要在类中声明私有构造方法,目的是不让其他类创建本类对象

如何防止创建本类对象?

  • 可以直接私有构造方法
    private 类名(){}
阅读全文 »

基本数据分为四大类

重要:以后面试可能会问范围

注:通常在复制 long float类型时都价格标识符 ,即 L 与 f 。这样不会因为数据类型而出错double类型也可以在后面加D

阅读全文 »

进制的运算

  • 二进制向右移动两位 :15 >> 2 = 3

    • ps:1111 向右移动两位 等于 0011 = 3
  • 二进制向左移动两位 :15 << 2 = 60

    • ps:1111 向左移动两位 等于 111100 = 60
  • 异或运算 :2 ^ 3 = 1

    • 例子:0010 ^ 0011 = 0001

      ps:也就是相同为0不同为1,当0001^0011或者0001^0010时都能得出另一个数,和乘法除法运算一样

  • 与运算 :2 & 3 = 2

    • 例子:0010 & 0011=0010

      “与”运算中也是二进制位的运算,只要有一个是0那么结果就是0

阅读全文 »