面向对象(二)

this关键字

this在类中表示当前正在表示的对象

this.成员变量名---->显示的访问当前对象的成员变量,常常用来区分同名的成员变量和局部变量

使用this关键字也可以引用成员方法或者构造方法

如上图,通过使用this关键字可以在无参构造方法中初始化值。

若在有参构造方法中没有使用关键字this的输出如下图

static关键字

static:被称为静态,可以修饰类中的成员变量,成员方法,代码块,内部类。

静态成员不依赖于类的示例,可以被所有实例共享,只要这个类被加载,静态成员就会被创建

特点:

1、随着类的加载而加载

2、优先于对象存在

3、修饰的成员。被所有对象共享

4、可不创建对象,直接使用类名调用

static属性:静态属性是类的所有对象共享的,可以通过类名.静态变量直接访问,也可以通过对象.静态变量的方式访问(但是更推荐使用类名.静态变量的方式)。

static修饰的方法,称为静态方法,可以直接使用类名调用,静态的方法中只能使用静态的成员变量,因为他们都是随着类的加载而加载,一旦方法中使用了非静态的成员变量,那么此方法不能定义为静态的方法,非静态的方法中可以使用静态的成员变量。

static修饰成员方法,修饰的成员方法称为类方法,可以直接使用类名访问。

静态方法中也不能使用this关键字,也不能使用super。

代码块

在类中声明的一个没有名字的代码块。

代码块分为:实例代码块和静态代码块

实例代码块在每次创建对象时执行

静态代码块在类被加载时会自动执行,运行类中的main方法,访问类中的静态成员变量或者静态成员方法,创建类的对象时会加载。

public class Demo {
    static String s ="静态";
    {
        System.out.println("实例代码块,创建对象时执行");
    }
    static {
        System.out.println("静态代码块,类加载时执行");
    }
    static {
        System.out.println(s);
    }
    public static void main(String[] args) {
        new Demo();
    }
}

包就类似于一个文件夹,用来存放许多的类,便于管理。

包名命名,目前至少三级

第一级:项目名称 com org edu

第二级:公司名称 baidu sun huawei

第三级:项目名称 oa cms erp

第四级:功能模块 web service dao config

包的作用:

1、按照不同的功能管理类

2、避免类重名

3、控制访问权限,在不同的包中对不同权限的成员进行访问限制

当在一个类中,使用了另一个包中的类,使用前必须使用import关键字导入;使用本包的类以及java.lang包中的类时不需要导入

访问权限修饰符

访问权限修饰符可以修饰类、成员变量、成员方法、内部类

访问权限修饰符四种

public:公共权限;可以修饰类、成员变量、成员方法、内部类,可以在任意地方访问到。

protected:受保护权限;可以成员变量、成员方法、内部类;在本类中,同包的其他类中,不同包的子类中可以访问到

什么都不写:默认权限;可以修饰成员变量、成员方法、内部类;在本类中,同包的类中可以访问到

private:私有权限;不可以修饰类,只能在本类中访问到。

访问权限修饰,修饰类,成员变量,成员方法,就是为了控制到其他地方是否可以使用类中的某些成员

  • 30
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值