问题1:什么是类?

答复:类是面向目标编程中的一个概念,它是一种笼统的数据类型,用于描绘具有相同特点和办法的目标调集。类能够看作是一种模板,用于创立目标。

问题2:类能做什么?

答复:类能够用于创立目标,目标是类的实例化。经过类,咱们能够界说目标的特点和办法,以及目标之间的联系。类还能够用于封装数据和行为,从而完成数据的安全性和代码的复用性。

问题3:类的原理原理是什么?

答复:类的完成基于面向目标编程的三大特性:封装、承继和多态。封装指的是将数据和行为封装在一个类中,从而完成数据的安全性和代码的复用性。承继指的是子类能够承继父类的特点和办法,从而完成代码的复用性和扩展性。多态指的是同一个办法能够被不同的目标调用,从而完成代码的灵活性和可扩展性。类的完成还依赖于编程言语的语法和语义规则,例如Java中的类必须有构造办法和拜访修饰符等。

问题4:类的分类

  1. 依照效果域区分:公共类、私有类、受维护类、默许类等。
  2. 依照承继联系区分:父类、子类、接口、笼统类等。
  3. 依照功用区分:实体类、工具类、反常类、枚举类等。
  4. 依照拜访办法区分:实例类、静态类、内部类等。
  5. 依照数据类型区分:根本数据类型、引证数据类型等。

问题5:不同类介绍

公共类

公共类是指能够被其他类拜访的类,一般用于界说公共的办法和特点,以便其他类能够承继或使用这些办法和特点。

私有类

私有类是指只能在当时类中被拜访的类,一般用于完成一些内部逻辑或辅佐办法,不对外暴露。

受维护类

受维护类是指只能被当时类和其子类拜访的类,一般用于完成一些需求承继的办法和特点。

默许类

默许类是指没有修饰符的类,只能被同一包中的其他类拜访,一般用于完成一些包内部的逻辑。

父类

父类是指被其他类承继的类,一般包含一些通用的办法和特点,以便子类能够承继和重写这些办法和特点

子类

子类是指承继自父类的类,一般能够重写父类的办法和特点,以完成自己的逻辑。

接口

接口是指一组笼统办法的调集,一般用于界说一些规范和束缚,以便其他类能够完成这些接口并依照规范完成办法。

笼统类

笼统类是指不能被实例化的类,只能被承继,一般包含一些笼统办法和特点,以便子类能够承继和完成这些办法和特点,笼统类也能够用来限制子类的行为,强制子类完成某些办法。(关于笼统类下面会列举一个小事例)

实体类

实体类是指数据库的实体对应的类,一般包含一些特点和办法,以便对实体进行操作和办理。

工具类

工具类是指包含一些静态办法的类,一般用于完成一些通用的功用,例如日期处理、字符串处理等。

  • 反常类:反常类是指用于**处理程序运行时出现的反常情况**的类,一般包含一些反常类型和处理办法。

  • 枚举类:枚举类是指**包含一组固定值的类**,一般用于表明一些状况或类型,例如颜色、性别等。

  • 实例类:实例类是指能够**被实例化的类**,一般包含一些实例办法和特点,以便对实例进行操作和办理。

  • 静态类:静态类是指包含一些**静态办法和特点的**类,一般用于完成一些通用的功用,例如数学计算、文件操作等。

  • 内部类:内部类是指界说在**其他类内部的类**,一般用于完成一些私有的逻辑或辅佐办法,不对外暴露。

  • 同一包下的类:同一包下的类是指界说在同一个包中的类,能够直接拜访和调用互相的办法和特点。

  • 不同包下的类:不同包下的类是指界说在不同包中的类,需求经过导入包的办法才能拜访和调用互相的办法和特点。

笼统类的使用小事例:

咱们界说了一个笼统类Shape,它有一个笼统办法area()和一个笼统办法toString(),还有一个非笼统办法getColor()。Circle和Rectangle类都承继自Shape类,并完成了它的笼统办法。在Main类中,咱们创立了一个Circle目标和一个Rectangle目标,并调用它们的toString()办法来输出它们的颜色和面积。


abstract class Shape {
   String color;
   abstract double area();
   public Shape(String color) {
      this.color = color;
   }
   public String getColor() {
      return color;
   }
  public abstract String toString();
}
class Circle extends Shape {
   double radius;
   public Circle(String color, double radius) {
      super(color);
      this.radius = radius;
   }
   @Override
   double area() {
      return Math.PI * Math.pow(radius, 2);
   }
   @Override
   public String toString() {
      return "Circle color is " + super.color + " and area is : " + area();
   }
}
class Rectangle extends Shape {
   double length;
   double width;
   public Rectangle(String color, double length, double width) {
      super(color);
      this.length = length;
      this.width = width;
   }
   @Override
   double area() {
      return length * width;
   }
   @Override
   public String toString() {
      return "Rectangle color is " + super.color + " and area is : " + area();
   }
}
public class Main {
   public static void main(String[] args) {
      Shape s1 = new Circle("Red", 2.2);
      Shape s2 = new Rectangle("Yellow", 2, 4);
      System.out.println(s1.toString());
      System.out.println(s2.toString());
   }
}

问题6:不同类效果是根据修饰符而决议的

拜访修饰符包含:

  • public:公共的,能够被任何类拜访。
  • private:私有的,只能被同一个类中的办法拜访。
  • protected:受维护的,只能被同一个类或其子类中的办法拜访。
  • default(默许):没有修饰符,只能被同一个包中的类拜访。

非拜访修饰符包含

  • static:静态的,能够在不创立目标的情况下拜访。
  • final:终究的,表明该变量或办法只能被赋值一次或许只能被调用一次。
  • abstract:笼统的,只能用于笼统类和笼统办法。
  • synchronized:同步的,用于多线程编程,保证同一时间只要一个线程能够拜访该办法或代码块。
  • transient:瞬态的,用于序列化,表明该变量不需求被序列化。
  • volatile:易变的,用于多线程编程,保证该变量在多个线程中的可见性。

以上便是关于本次内容Java程序的根本结构:类

纲要是环绕以下内容开展,咱们等待和我们下次相遇:内容如有错误的当地,期望我们指正。

Java程序的根本结构:类、办法、变量、句子、注释。
Java中的数据类型:根本数据类型(byte、short、int、long、float、double、char、boolean)和引证数据类型(类、接口、数组)。
Java中的运算符:算术运算符、联系运算符、逻辑运算符、位运算符、赋值运算符、三目运算符。
Java中的流程操控句子:if句子、switch句子、for循环、while循环、do-while循环、break句子、continue句子、return句子。
Java中的数组:一维数组、二维数组、数组的初始化、数组的遍历、数组的排序、数组的仿制。
Java中的面向目标编程:类和目标、封装、承继、多态、笼统类、接口、内部类。
Java中的反常处理:反常的分类、反常处理机制、try-catch-finally句子、throw句子、throws句子。
Java中的调集结构:Collection接口、List接口、Set接口、Map接口、Iterator接口、ArrayList类、LinkedList类、HashSet类、HashMap类。
Java中的线程:线程的创立、线程的生命周期、线程的同步、线程的通信、线程池。