Java(三)-类与对象

class 类名{
    类体的内容(属性和行为)
}

1. 变量
  • 成员变量
    • 实例变量(没创建对象时不分配内存,与对象关联)
    • 类变量(用static修饰,与类关联)

注:不同对象的实例变量互不相同,所有对象共享类变量,可通过类名直接访问类变量

  • 域变量

2. 方法
方法头{
    方法体的内容
}

局部变量的名字与成员变量相同时,成员变量被隐藏,此时可用关键字this

  • 实例方法(不仅可以操作实例变量,也可以操作类变量)
  • 类方法(不可以操作实例变量)

3. 对象

对象负责存放引用


4. 参数传值

方法中参数变量的值是调用者指定值的拷贝,如果参数是引用类型,则传递的是引用


5.this关键字

不可以出现在类方法,表示某个对象


6.包
  • 不同Java源文件中相同类名时,可以通过隶属于不同的包来区分
  • 省略时表示无名包
  • import语句可以引入类库/自定义包中的类
  • java.lang包中包含基本类型的封装类

子类

子类只能有一个父类

1. 声明子类
class 子类名 extends 父类名{
    ...
}

2.继承性(final类不能被继承)
  • 在同一包中
    子类继承父类中不是private的成员变量和方法
  • 不同包中
    子类只继承父类中protected和public的成员变量和方法

注:创建子类对象时,会给父类成员变量分配内存,从父类继承的方法中可以操作未继承的变量


3.隐藏和重写
  1. 隐藏成员变量

    • 子类成员变量与继承来的成员变量重名,则会隐藏所继承的成员变量
    • 仍可以调用隐藏的成员变量
      super关键字:一旦隐藏变量,该变量归关键字super所拥有
  2. 重写方法(不新增方法)

    • 用来隐藏所继承的方法
    • 可以提高访问权限,但不允许降低访问权限
      public > protected > 友好的 > private

4.上转型对象

对象的上转型对象的实体由子类创建,但会失去原对象的一些属性和功能,不能操作子类新增的成员变量和方法,可以访问继承或隐藏的成员变量和方法


5.抽象类和抽象方法
  • 只允许声明不允许实现
  • abstract类中可以有abstract方法,也可以有非abstract方法
  • 不能用new运算符创建对象
  • abstract类的对象作上转型对象,可以调用被子类重写的方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值