Java中类和对象的关系

一、基本概念

1、类:类是一个模板,它描述一类对象的行为和状态。(比如一张汽车设计图纸)
2、对象:对象表示现实世界中一个具体的事物。对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。(比如根据汽车设计图纸设计出来的汽车)
3、类与对象的关系
(1)类是抽象的概念,仅仅是一个模板,比如说:“人”。
(2)对象是一个你能够看得到、摸得着的具体实体。
(3)类定义了对象将会拥有的特征(属性)和行为(方法)
(4)类是对象的类型,对象是类的实例

二、构造方法

定义:构造方法作用就是对类进行初始化。每个类都有构造方法。如果没有
显式地为类定义构造方法,Java编译器将会为该类提供一个默认不带任何参
数的构造方法。

**创建一个人的类**
class Person{
	public String name;
	public int age;
    
    public Person(){
    }//无参构造函数

	public Person(String n,int a){
		this.name=n;
		this.age=a;
	}//有参构造函数(此时默认构造函数失效,想要调用无参,必须自己定义)

}


**方法的重载**
在Java程序中,如果同一个类中存在两个方法同名,方法的签名(参数个数、
参数类型、类型排列次序)上也一样,将无法编译通过。
但在Java中多个方法重名是允许的,只要保证方法签名不同即可,
这种特性称为方法重载(overload)
上述两个构造方法public Person()public Person(String n,int a)也是
方法的重载

三、访问修饰符

private(私有的):只能被此类中的其他成员访问,不能在类外看到。

protected(受保护的):允许类本身、同一包中的所有类和不同包中的子类访问;

public(公共的):类的成员可被同一包或不同包中的所有类访问,也就是说,public访问修饰符可以使类的特性公用于任何类;

friendly:默认修饰符,允许此类成员和同包访问。

四、继承

关键字:extends
运用继承,可以创建一个通用类定义一系列一般特性。
1、被继承的类称为父类
2、继承父类的类称为子类
3、执行继承时,子类将获得父类的属性,并具有自身特有的属性。

继承的特性:
1、子类拥有父类非 private 的属性、方法。
2、子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
3、子类可以用自己的方式实现父类的方法。
4、Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 A 类继承 B 类,B 类继承 C 类,所以按照关系就是 C 类是 B 类的父类,B 类是 A 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。
5、提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。

注意:
1、没有extends,默认父类为Object
2、只能有一个父类,即单继承;但是一个父类可以有多个子类
3、子类继承父类的全部成员,除了private成员
4、子类与父类不在同包,使用默认访问权限的成员不能被继承
5、构造方法不能被继承(但是子类可以调用父类构造方法)

**superthis的用法**
super:我们可以通过super来实现对父类成员的访问,用来引用当前对象的父类。
this关键字:指向自己的引用。


class Animal {
  void eat() {
    System.out.println("animal : eat");
  }
}

//继承Animal
class Dog extends Animal {
  void eat() {
    System.out.println("dog : eat");
  }
  void eatTest() {
    this.eat();   // this 调用自己的方法
    super.eat();  // super 调用父类方法
  }
}


final 关键字声明类可以把类定义为不能继承的,即最终类;
      或者用于修饰方法,该方法不能被子类重写
用法:final class 类名{
		**类体**}

修饰符 final 返回值类型 方法名(){
		**方法体**
}
 
  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值