JAVA基础篇——类

Java的重要概念之一类

一、类的定义

定义

类:类是一个模板(本质是一种数据类型,若对C语言有所了解可简单理解成struct结构体,区别在于Java的类可包含方法,而结构体没有),它描述一类对象的行为和状态。

对象:对象是类的一个实例(这里的对象不是女朋友),有状态和行为。例如,狗是一个这个名词是一个类的概念,你家喂养的旺财就是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。

类的使用
1.定义类语法格式 :

[final] [public] class 类名 {
成员;
构造方法;
// 如果是程序的主方法在这个类时,一般没有构造函数,行为方法中包含主方法(静态);
行为方法;}

2. 定义类时需要注意的点
  1. 类的包含哪些成员和方法,
  2. 这些成员和方法是允许使用实例进行直接调用、是否为静态、是否被重写等,根据需求选择修饰语主要包括public、protected、private、static、final等
3. 类的分类
  1. 普通类:不包含被abstract修饰的抽象方法;能被实例化
  2. 抽象类:包含被abstract修饰的抽象方法(定义抽象类时,抽象方法只需声明,无须实现方法);不能被实例化
4. 普通类与抽象类的区别
  1. 都可被继承;若继承后的子类包含抽象方法(定义子类时重新声明的抽象类;不会是继承而来,因为继承而来的抽象方法必须要被子类实现),并且为对抽象方法实现,则这个子类依旧是一个抽象类
  2. 抽象类需要可被继承(不能被继承这个抽象类就没有了实际意义)、并且不能是静态类,即不能被static、final修饰
5. 抽象类与接口的区别
  1. 强调一点,很多人喜欢区分抽象类和接口的区别,实际上这连个是完全不同的概念,这里还是简单说一区别吧
  2. 定义时,修饰符不同;抽象类 abstract class ,接口 interface
  3. 抽象类和接口中都可以有成员变量,但是接口中的成员变量必须使用public、static、final修饰。
    在这里插入图片描述
  4. 接口中只能包含抽象方法(默认接口中的方法为抽象方法,即使没有使用abstract修饰方法);抽象类中可以存在非抽象类。抽象方法不能再原定于接口或抽象类中直接实现,需要继承后实现这些抽象方法
  5. 抽象类只能被单继承使用关键字extends,因为其本质还是类;接口可以被多继承,使用关键字implements,多继承接口时使用逗号隔开。
  6. 一个子类可以同时继承一个类(包含抽象类)和多个接口,继承顺序为类先继承,再继承接口,若下图

在这里插入图片描述

6. 类中的成员变量和局部变量
成员变量局部变量备注
类中为位置不同在类中方法外在类中的方法中或方法的形参
内存存储位置不同在堆中在栈中内存堆、栈的区别
生命周期不同随对象的建立而创建,随对象一起消失随所在方法的被调用而生成,随调用方法的结束而结束
初始化值不同有默认值,构造函数(包含默认构造函数)无默认值,必须程序赋值或调用时参数赋值才能使用

二、对象的创建

定义

类定义完成后,真正实用的是利用该类创建其对象,对象的创建需要消耗一定资源,尤其内存资源。

对象具体使用
1. 语法格式:

类名 对象名 = new 类名([参数]);

备注: 对象名好比C语言里面的指针;对象真正的内容是后面new的部分,在堆中申请一段空间;对象名指向段空间的地址

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值