Java基础--面向对象03

final和static关键字

final关键字
是最终的意思,可以修饰类,成员变量,成员方法。
–修饰类,类不能被继承
–修饰变量,变量就变成了常量,只能被赋值一次
–修饰方法,方法不能被重写

static关键字
静态的意思。可以用来修饰成员变量和成员方法。
static修饰成员的特点:

A:被类的所有对象共享。
其实也是判断一个成员是否应该用static修饰的条件。
B:可以通过类名直接访问
C:优先于对象存在
D:随着类的加载而加载

•静态方法的访问特点
–静态方法只能访问静态的成员变量和静态的成员方法

静态方法的注意事项
–在静态方法中是没有this,super关键字的
静态的内容是随着类的加载而加载,this和super是随着对象的创建而存在。

非静态的成员方法:
能访问静态的成员变量
能访问非静态的成员变量
能访问静态的成员方法
能访问非静态的成员方法

静态的成员方法
能访问静态的成员变量
能访问静态的成员方法

抽象类

概述:
当编写一个类时,我们往往会为该类定义一些方法,这些方法是用来描述该类的功能 提取出了一个动物类,这个时候我们是可以通过Animal a = new Animal()来创建动物对象的,其实这是不对的。为什么呢?因为,我说动物,你知道我说的是什么动物吗?只有看到了具体的动物,你才知道,这是什么动物。 所以说,动物本身并不是一个具体的事物,而是一个抽象的事物。只有真正的猫,狗才是具体的动物。同理,我们也可以推想,不同的动物吃的东西应该是不一样的,所以,我们不应该在动物类中给出具体体现,而是应该给出一个声明即可。在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类。

特点:

抽象类不一定有抽象方法,有抽象方法的类一定是抽象类
抽象类不能实例化
那么,抽象类如何实例化呢?
按照多态的方式,由具体的子类实例化。其实这也是多态的一种,抽象类多态。
抽象类的子类,要么是抽象类
要么重写抽象类中的所有抽象方法
抽象类和抽象方法必须用abstract关键字修饰
例子:

     //抽象类
public abstract class Animal {
	/*
	public void eat() {
		System.out.println("吃东西");
	}
	*/
	
	//抽象方法
	public abstract void eat();
}

抽象类的成员的特点
•成员变量
–可以是变量
–也可以是常量

•构造方法
–有构造方法,但是不能实例化
–那么,构造方法的作用是什么呢?
•用于子类访问父类数据的初始化

•成员方法
–可以有抽象方法 限定子类必须完成某些动作
–也可以有非抽象方法 提高代码复用性

接口

接口用关键字interface表示

–格式:public interface 接口名 {}
–类实现接口用implements表示
•格式:public class 类名 implements 接口名 {}

–接口不能实例化
•那么,接口如何实例化呢?
•按照多态的方式,由具体的实现类实例化。其实这也是多态的一种,接口多态。

–接口的实现类
•要么是抽象类
要么重写接口中的所有抽象方法

类与类_类与接口_接口与接口的关系

•类与类
–继承关系,只能单继承,但是可以多层继承

•类与接口
–实现关系,可以单实现,也可以多实现。还可以在继承一个类的同时实现多个接口

•接口与接口
–继承关系,可以单继承,也可以多继承

抽象类与接口的区别

•成员区别
抽象类 变量,常量;有抽象方法;抽象方法,非抽象方法
接口 常量;抽象方法

•关系区别
类与类 继承,单继承
类与接口 实现,单实现,多实现
接口与接口 继承,单继承,多继承

•设计理念区别
抽象类 被继承体现的是:”is a”的关系。共性功能
接口 被实现体现的是:”like a”的关系。扩展功能

包的概述和权限修饰符

包的概述
–其实就是文件夹
–作用:对类进行分类管理

–包的划分:

–学生的增加,删除,修改,查询
–老师的增加,删除,修改,查询
–以及以后可能出现的其他的类的增加,删除,修改,查询
–基本的划分:按照模块和功能分。

格式:
–package 包名;
•多级包用.分开即可
–注意事项:
•package语句必须是程序的第一条可执行的代码
•package语句在一个java文件中只能有一个

导包格式:
–import 包名;

四种权限修饰符的访问特点
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值