java基础--2019/01/07

本文深入讲解Java中的数组定义与初始化,静态与非静态成员的区别,Math类的常用数学方法,自定义工具类的设计,代码块的使用场景,类的继承与多态特性,抽象类与接口的概念,以及this和super的运用,帮助读者全面掌握Java编程的基础与进阶知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组定义
    动态初始化
        元素类型[] 数组名=new 元素类型[数组长度];
    静态初始化
        元素类型[] 数组名={元素1,元素2,元素3};
        元素类型[] 数组名=new 元素类型[]{元素1,元素2,元素3};
static修饰的成员变量和成员方法
    特点:
        被所有的对象所共享
        静态的加载优先于对象
        随着类的加载而加载
    注意事项:
        静态方法可以调用静态变量
        静态方法可以调用静态方法
        静态方法不可以调用非静态的成员变量
        静态方法不可以调用非静态的成员方法
        非静态方法可以调用静态成员变量
        非静态方法可以调用静态成员方法
        非静态方法可以调用非静态的成员变量
        非静态方法可以调用非静态的成员方法
        静态方法中没有this而非静态方法中有this
Math中的方法(java.lang下的类无须导包,Math类中的静态方法和静态变量直接调用)
    Math.PI//3.141592653589793
    Math.abs(double/float/int/long a);//取绝对值
    Math.ceil(double a);//向上取整
    Math.floor(double a);//向下取整
    Math.round(double a);//四舍五入
    Math.pow(double a, double b);//a的b次方
    Math.random();//返回一个大于0且小于1的double类型的随机数
自定义工具类
    将构造方法私有化(private)
    将成员方法、成员变量静态化(static)
代码块
    局部代码块(在方法中,控制变量的生命周期,减少内存开销)
        {
            语句...
        }
    构造代码块(方法之外,提取构造方法中的共性,每次创造对象都要先执行代码块再执行构造方法)
        {
            语句...
        }
    静态代码块(随着类的加载而加载,且只加载一次,加载类的需要做的一些初始化,比如加载驱动)
        static{
            语句...
        }
    优先顺序:静态代码块(只执行一次)>构造代码块>构造函数
继承类(关键字extends,提高代码的复用性,减少代码的冗余,提高代码的可维护性,耦合性变高了)
    多个子类可以继承同一个父类
    父类中的私有变量和私有方法子类不可使用
    当子类和父类有相同的变量和方法时采用就近原则
开发原则:高内聚低耦合
this和super区别
    this(当前对象的引用) super(子类对象的父类引用)
    this访问本类中的变量、方法,如果本类没有此变量、方法则从父类中继续查找。super访问父类中的变量、方法。
    (也采用就近原则)
方法的重写和重载
    重载指一个类中方法的名字相同而参数不同(参数的个数、顺序、类型不同)
    重写(覆盖)指发生在继承类中,子类对父类的方法的重写(@Override)返回值 方法名 参数完全相同 修饰符权限子类大于等于父类
        不能重写父类私有方法
子类构造函数如果没有super()或this()默认第一行是super()(调用父类无参构造函数)

抽象类(abstract修饰方法和类)
    抽象方法:不同类的方法是相似的而具体内容不一样,只声明,没有具体的方法体
    有抽象方法的类一定是抽象类,而抽象类不一定有抽象方法
    子类必须重写父类中所有的抽象方法,否则这个类就是抽象类
    abstract和final、private不能共存
    抽象类有构造函数

final修饰的类不能被继承、修饰的成员变量(常量)不能被修改、修饰的方法不能被重写

接口(interface implements)
    所有的方法默认都是abstract抽象方法,所有的成员变量都是final修饰的常量
    方法只能是public abstract修饰,public static final修饰变量

类与类:继承关系(extends),单一继承,多层继承
类与接口:实现关系(implements),多实现
接口与接口:继承关系(extends)

接口降低了程序的耦合性,以实现模块化开发,提高开发的效率

多态
    子父类继承关系
    方法重写
    父类引用指向子类对象
    Person a=new student();//向上转型(执行方法看父类)
    student d=(student)a;//向下转型(执行方法看子类)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值