java面向对象基础-2021-11-17

java基础复习(一)

面向对象基础

局部变量与成员变量

  1. 成员变量:类中方法体外的变量
  2. 静态变量(类变量):用static修饰的成员变量
  3. 局部变量:类中方法体中变量
    注意点:静态变量与成员变量
    1、静态变量是类加载的时候就分配了内存初始化(2次),而实例变量则是在对象实例化的时候分配到堆
    2、实例变量的使用需要有对象实例参与,而静态变量在方法区中就加载并初始化,直接类名.类变量
    讲下static:
    1、修饰变量
    2、修饰方法
    3、修饰代码块
public class StaticBL {
    public int a;
    public static String s="gg";

    public static int getNum() {
        return num;
    }

    private static int num = 8;

    public StaticBL() {
        System.out.println("我是二号彭于晏");
    }

    static {
        System.out.println("我是彭于晏");
    }

    public void printString(String s){
        System.out.println(s);
    }
    public static void printS(String s){
        System.out.println(s);
    }


    public static void main(String[] args) {
        StaticBL bl = new StaticBL();
        System.out.println(bl.a);
        System.out.println(bl.s);
        System.out.println(StaticBL.s);
        StaticBL.printS("kk");
        System.out.println(StaticBL.getNum());
//        我是彭于晏
//        我是二号彭于晏
//        0
//        gg
//        gg
//        kk
//        8
    }
}

1、修饰变量和修饰方法有相似之处,不用对象参与(可以有也可以没有,建议不要有)
2、修饰代码块执行一次,在构造方法前面,多个静态就从上向下
3、不影响访问权限,访问权限在类加载解析时进行了检查

private关键字

没啥可说的,使用时候要get和set方法

this关键字及内存分析

this指的是堆内存中对象的地址,里面的变量值是创建实例对象的初始化值

构造方法

1、创建一个类的实例并初始化
2、方法与类名相同,不能被static、final、synchronized、abstract和native修饰
3、如果类中没有构造方法,系统会提供
4、构造方法优先于构造函数
5、重载,有参构造和无参构造

顺便谈下重写和重载

重写:1、继承类,实现接口重写方法
2、参数列表相同
3、返回值被父类的返回类型兼容
重载:1、方法名相同
2、形参列表不同
3、返回值类型无要求

就说这些了,下一篇写面向对象的特征

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值