zoukankan      html  css  js  c++  java
  • Java基础

     

    Java复习

    增强for循环

    for(int x: a)

     

    可变参数

    可变参数要在所有参数后面。

    public class hello {
       public static void main(String[] args) {
           int[] array={1,2,3,4,5};
           fun("haha", array);
      }
       public static void fun(String str, int ...array){
           for (int i = 0; i <array.length ; i++) {
               System.out.println(array[i]);
          }
      }
    }

     

    方法的重载

    原理是根据参数的差异。

    public class hello {
       public static void main(String[] args) {
           add(1,2);
           add(3.0,4.0);
      }
       public static void add(int a, int b){
           System.out.println(a+b);
      }
       public static void add(double a, double b){
           System.out.println(a+b);
      }
    }

     

    构造器

    1.默认,就是自己不写构造函数,无参构造。

    2.自己写了有参构造,就不给你默认了。

    3.正因为如此,养成习惯,写了有参构造,就要把无参构造写上去。这样子类中没有写super(),让它自己默认super(),才不会出错。

     

    内存分析

    声明存在栈里,实例存在堆里。

    image-20200214023947298

     

    封装

    属性私有,get/set

     

    继承

    1.父类(基类),子类(派生类)。

    2.儿子只能有一个爸爸,爸爸可以有多个儿子。

    3.只有一个爸爸,若想得到更多,可以找爷爷要。

     

    super详解

    1.super调用父类的构造方法,必须在构造方法的第一个。

    2.super和this不能同时调用构造方法。

     

    方法的重写

    1.方法名必须相同。

    2.参数列表必须相同。

    3.修饰符:范围可以扩大但是不能缩小:public>protected>default>private

    4.抛出的异常:范围,可以被缩小,但不能扩大。

     

    多态

    1.多态是方法的多态,属性没有多态。

    2.当父类引用指向子类对象时,static,final,private修饰的方法该调用谁的还是谁的,也就是决定权始终是左边。

    Student student = new Person();

     

    类型转换

    1.父类引用指向子类的对象。

    2.把子类转换为父类,向上转型。

    3.把父类转换为子类,向下转型;强制转换

    4.方便方法的调用,减少重复的代码!简介。

     

    static

    和类一起被调用。

    1.匿名代码块

    2.静态代码块

    3.构造函数

    执行顺序:静态代码块>匿名代码块>构造函数

    代码

    public class hello {
    //   第2执行
      {
           System.out.println("匿名代码块");
      }
    //   第1执行,但只执行一次
       static {
           System.out.println("静态代码块");
      }
    //   第3执行
       public hello(){
           System.out.println("构造函数");
      }
       public static void main(String[] args) {
           hello h = new hello();
           System.out.println("==================");
           hello h2 = new hello();
      }

    }

    运行结果

    静态代码块
    匿名代码块
    构造函数
    ==================
    匿名代码块
    构造函数

     

    抽象类

    //abstract 抽象类:类 extends:单继承    (接口可以多继承)
    public abstract class Action {
       public abstract  void doSomething();

    //   1.不能new这个抽象类,只能靠子类去实现
    //   2.抽象类可以写普通的方法
    //   3.抽象方法必须在抽象类中
    }

     

    接口

    作用:

    1.约束

    2.定义一些方法,让不同的人实现

    3.public abstract

    4.public static final

    5.接口不能被实例化,接口中没有构造方法

    6.implements可以实现多个接口

    7.必须要重写接口中的方法

     

    异常

    try, catch, finally, throw, throws

  • 相关阅读:
    上传文件漏洞(上传绕过)
    不安全的直接对象引用漏洞(浅析)
    python socket介绍
    python新手灰帽脚本练习---简易端口扫描
    python新手灰帽脚本练习---文件路径遍历收集
    python socket编程中端口被占用的解决方法(转载)
    .net core 使用功能总结
    Python学习计划整理
    Javascript 日期转换 几天前
    学习网站
  • 原文地址:https://www.cnblogs.com/xiaoran991/p/12310460.html
Copyright © 2011-2022 走看看