Java高级(第三天)

1、面向对象的三大特性:继承、多态、封装

继承:关键字—extends, A extends B 代表A类继承了B类的成员属性和成员方法(可见的)

public class B { //定义一个B类
   int a;
   String b;
   .....;
   
   void fn() {

}
   ......;

}
public clss A extends B {  //B是A的父类


}

一个类只能继承一个直接父类,java中只允许单根继承:

//错误示例
public class A extends B,C {

}

封装:保护类的属性,不被随意赋值。关键字—private,对属性进行私有化,同时要提供公共的getter/setter以便访问,

//示例代码
public class Pengunie {
    String name;
    int health;
    private int love;
    String gender;

    public void setLove(int love) {
        this.love = love;
    }

    public int getLove() {
        return love;
    }
}

2、访问修饰符: 访问权限控制

private: 私有的,本类内部能访问

默认的: 包级私有,本类所在的包内所有的文件都可以访问

protected:受保护的 (包级私有+子类) ,除了本包之外,继承该类的所有子类也可以访问

public: 公共的,整个工程都可以访问,工程内所有文件都可以访问

作用域同一个类中同一个包中子类中任何地方
private可以不可以不可以不可以
默认修饰符可以可以不可以不可以
protected可以可以可以不可以
public可以可以可以可以

3、 static关键字

static修饰变量时,变量叫做类变量,静态变量:全体成员共享,但更多使用 类名,变量名 来调用静态变量,全类共享一个内存拷贝;往往用于公共静态常量的定义

static 数据类型 变量名   //定义静态变量


static 返回值类型 方法名() {   //定义类中的静态方法

}

调用时直接用类名.方法名(),无需再创建对象

注:但静态方法不能直接访问成员变量和成员方法,需要用对象名来调用静态方法不能访问this和super。

static{}: 静态代码块,在类第一次加载的时候,运行一次
静态代码央应该定义在静态变量的后面,否则无法访问该静态变量如果有多个静态代码块,也只是运行一次,但按照顺序执行。

//示例
public class A {
    静态变量;

    静态代码块1;
    静态代码块2;
}

执行顺序:静态变量—>静态代码块1—>静态代码块2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值