一. Java 是面向对象的编程语言,对象就是面向对象程序设计的核心。所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。对象有以下特点:
1. 对象具有属性和行为。
2. 对象具有变化的状态。
3.对象具有唯一性。
4.对象都是某个类别的实例。
5.一切皆为对象,真实世界中的所有事物都可以视为对象。
二. 类和对象:在面向对象中,类和对象是最基本、最重要的组成单元。类实际上是表示一个客观世界某类群体的一些基本特征抽象。对象就是表示一个个具体的东西。所以说类是对象的抽象,对象是类的具体。
类是概念上的,它的作用则是赋予对象特性,从而形成一个实体,即对象是一个真实的模型,所以综上所述:类是描述了一组有相同特性(属性)和相同行为(方法)的一组对象的集合。
三. JAVA类的定义:类是 Java 中的一种重要的引用数据类型,也是组成 Java 程序的基本要素,因为所有的 Java 程序都是基于类的。
抽象类和普通类区别
抽象类和普通类的区别我们做了以下7点简单的总结。
1、和普通类比较起来,抽象类它不可以被实例化,这个区别还是非常明显的。
2、除了以上的一点之外,抽象类它能够有构造函数,被继承的时候,子类就一定要继承父类的一个构造方法,但是,抽象方法不可以被声明成静态。
3、在抽象类当中,可以允许普通方法有主体,抽象方法只需要申明,不需要实现。
4、含有抽象方法的类,必须要申明为抽象类。
5、抽象的子类必须要实现抽象类当中的所有抽象方法,否则的话,这个子类也是抽象类。
6、抽象类它一定要有abstract关键词修饰
7、抽象类的访问权限
#jdk1.8之前,访问权限限制于public和protected,假如不写由或者是是private,那么就不能够被子类继承
#jdk1.8-11将访问的权限变成了public 、protected以及default
抽象类和接口的不同
抽象类:
1.使用abstract修饰的方法,叫做抽象方法。
2.包含抽象方法的类,必须设计为抽象类,使用abstract修饰此类
3.抽象类不能进行实例化
4.抽象类当中可以有和普通类一样的方法,成员。最突出的和普通类不一样的地方就是抽象类不能进行实例化。
5.抽象类可以被继承(抽象类的存在就是为了被继承)
6.当一个普通类继承这个抽象类之后,如果这个抽象类当中包含抽象方法,那么需要重写这个抽象方法,否则代码不能通过编译。
7.如果一个抽象类A继承另一个抽象类B,那么此时这个抽象类A可以不重写B当中的抽象方法。
8.抽象方法不能是private的、static的、final的。
🐵🐺🐶🐱🦁🐯🦒🦊🦝🐮🐷🐗🐭🐹🐰🐻
接口:
1.使用interface来修饰接口
2.接口当中的成员变量,默认都是public static final修饰的
3.接口当中的成员方法默认都是public abstract修饰的
4.接口当中的普通成员方法,是不能有具体实现的
5.接口当中的普通成员方法,如果要有具体的实现,必须加上default修饰【JDK8开始】
6.接口当中可以有静态的成员方法。但是不管是静态的方法还是default方法,都是public修饰的。
7.接口也是不能进行实例化的
8.类和接口的关系使用implements来关联的
9.一个接口可以引用 具体实现类的 向上转型
10.接口当中不能有静态 示例代码块 构造方法
11.一个抽象类实现一个接口,可以不重写这个抽象方法(但是不建议)