Java面向对象(二)

this关键字

在一个类的内部可以使用this关键字来引用成员变量名,区分成员变量和局部变量.

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

//this在类中用来表示当前正在访问的对象, this.成员变量名--显示的访问当前对象的成员变量
     public Person(String name,int age,String gender){
           this.name = name;
           this.age = age;
           this.gender  = gender;
     }

static关键字

static---静态

可以修饰类中的成员变量,成员方法,代码块,内部类(不能修饰构造方法)

1.修饰成员变量

静态成员变量也称类变量,在内存中只有一份,所有对象可以共享,一般情况下,将类中所有对象都相同的属性设置为静态的。

2.修饰成员方法

修饰的成员方法也称为类方法,可以直接使用类名访问,在静态的方法中只能访问静态的成员变量,非静态的方法中可以使用静态的成员变量。

(静态的方法中不能用this关键字,也不能用super关键字)

注意:

静态的方法中,只能使用静态的成员变量,因为他们都是随着类的加载而加载的;

一旦方法中使用了非静态的成员变量,那么此方法就不能定义为静态的;

但非静态的方法中可以使用静态的成员变量。

static关键字修饰的属性特点:

<1>随着类的加载而加载

<2>优先于对象存在

<3>静态成员被所有对象共享

<4>可以直接使用类名访问

代码块

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

分类实例代码块:在每次创建对象时执行                    {  实例代码块内容  }

           静态代码块:在类被加载时自动执行          static {   静态代码块内容   }

类什么时候会被加载?

<1>运行类中的main方法

<2>访问类中的静态成员变量,静态成员方法

<3>创建类的对象


public class Demo1 {

    //实例代码块
    {
        System.out.println("1-创建对象时,不需要显示的调用,会自动执行");
    }
    //静态代码块
    static{
        System.out.println("2-在类被加载时,会自动执行");
    }
    //运行类中的main方法,此时类被加载,静态代码块执行
    public static void main(String[] args) {
    //创建对象,实例代码块执行
        new Demo1();
    }
}

问题:项目越写越大,用到的类越来越多,会出现同名类,如何安照不同的功能管理类

java中使用包机制来管理类

包的命名规范

在包名中,可以使用.号来区分包的级别,包目前至少三级,包名一般情况用小写表示

第一级 项目类型  如:com  org  gov  edu

第二级 公司名称  如:baidu   huawei

第三级 项目名称

第四级 指项目模块的名称

包的作用:

 1. 按照不同功能管理类   

 2. 避免类重名 

 3. 控制访问权限

访问权限修饰符

(访问权限修饰符可以修饰类,成员变量,成员方法,内部类.)

public :公共权限 

protected :受保护权限

什么都不写 :默认权限(default)

private :私有权限

公共权限----------修饰的成员,在任何地方都可以访问到.

受保护权限-------在本类,同包的其他类中可以访问到,不同包的子类.

默认权限----------在本类,同包的其他类中可以访问到.

私有权限----------只能在本类访问到.

( protected和默认(default)的区别就是,protected可以在不同包的子类中访问 )

  • 40
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值