Java类的概念|包括封装、继承、多态|以及成员方法、权限修饰符、this关键字等类的相关的概念知识|Java必学知识点

简介: 继承的图形化概念:用最形象的图像来说明继承的概念其实很简单,就拿三角形和等腰三角形和等边三角形来说 等腰三角形和等边三角形都具有三角形的性质就是三个角三条边,那么三角形就是父类,等腰三角形和等边三角形就是三角形的子类,然而等边三角形是特殊的等腰三角形,所以在等腰三角形和等边三角形两者之间,等腰三角形是父类,等边三角形是子类!

🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝

🥇博主昵称:Jovy.

🍟博客主页Jovy.的博客

🥗感谢点赞👍评论🃌

⚇很方便的在线编辑器:Lightly

让我们一起在写作中记录学习吧!

image.gif编辑

目录

前言

什么是类?我对类的理解

类的继承、封装、多态

类的封装

类的继承

类的多态

成员方法、权限修饰符、this关键字

成员方法

权限修饰符

this关键字

第一种作用

第二种作用

文末总结


前言

🎃Java是一个专门的面向对象的语言,在现在还是受到很多人的喜爱,Java工程师是招聘需求最大的岗位 学好Java也是一个专业工程师的必备技能,在面向对象中 类是很重要的,所以本篇文章将会为大家讲解类以及类的相关知识 为大家打好基础!

编辑

什么是类?我对类的理解

🎃在一开始我学Python的时候遇到了类与对象 在当时我就听说过许多的说法,而我比较认同一个观点:类是一个图纸,而对象是一个成品!这是类与对象的关系!

类是对于一类事物的归纳,而不是单个事物。就拿狗这一类来举例,类就是封装了狗属性和行为,比如狗的属性有品种、大小、颜色、年龄,而他的行为有吃、跑、睡等,拥有这一系列属性和行为的统归为一类!

编辑

类的继承、封装、多态

🎃继承、封装、多态是面向对象设计程序的特点,通过这些特点,我们可以更好的编译程序,使程序编译更加方便

类的封装

🎃封装是面向对象编程的核心思想。通过类来将对象的属性和行为进行封装。通过封装可以达到对用户隐藏细节。封装保证了类内部数据结构的完整性,使用类的用户不能直接操作类的数据结构,避免类内部的数据安全,提高了程序可维护性。封装后其他程序只需通过封装的类所提供的接口进行使用,不需要了解类的内部的内容!

隐藏的细节就类似于你使用电脑键盘,你只要知道如何使用即可,不需要知道键盘的内部工作原理,这个工作原理就是类所封装的细节所在

编辑

类的继承

🎃类的继承是程序设计里面一个很重要的概念!利用继承,可以使我们程序设计的时间大大缩短,使得开发速度增加,也可以避免代码过多的问题!

  • 继承的概念:继承就是由子类继承父类的属性和行为,并且使用 当然也可以另外添加属性和行为,这个说法是最浅显易懂的!
  • 继承的图形化概念:用最形象的图像来说明继承的概念其实很简单,就拿三角形和等腰三角形和等边三角形来说 等腰三角形和等边三角形都具有三角形的性质就是三个角三条边,那么三角形就是父类,等腰三角形和等边三角形就是三角形的子类,然而等边三角形是特殊的等腰三角形,所以在等腰三角形和等边三角形两者之间,等腰三角形是父类,等边三角形是子类!

继承通过extends来实现

package eee;
class Animal {//声明一个动物类
  String name;//定义动物的属性如名字 ,年龄,品种
  int age;
  String kind;
  public void eat () {//定义一个吃的方法
    System.out.println("吃东西");
  }
}
class Dog extends Animal{    //定义一个狗的类来继承动物类
}
class Cat extends Animal{    //定义一个猫的类来继承动物类
}
public class Ass {
  public static void main(String[] args) {
    Dog dog = new Dog();    //实例化一个狗的对象
    dog.name = "大黄";    //可以发现狗的对象可以使用动物类中的属性变量进行赋值
    dog.age = 3;
    dog.eat();    //也可以调用动物类中的成员方法
    System.out.println(dog.name);
    System.out.println(dog.age);
    Cat cat = new Cat();
        cat.name = "大橘";
        cat.age = 2;
    cat.eat();
  }
}

编辑以上代码就很形象的解释了继承的概念!

类的多态

🎃多态的概念其实很简单,简单明了的说就是,同一个接口有多种不同的作用。例如你在使用f5的时候在网页中是刷新,但是在Python环境中却是代码运行的键,同一个接口有多个作用那他就是多态。

多态中必然包含继承、重写(下图取自菜鸟教程帮助理解)

编辑

在不同的子类调用父类的相同方法显示不同结果就是多态的主要特性

class Shape {
    void draw() {}
}
class Circle extends Shape {
    void draw() {
        System.out.println("Circle.draw()");
    }
}
class Square extends Shape {
    void draw() {
        System.out.println("Square.draw()");
    }
}
class Triangle extends Shape {
    void draw() {
        System.out.println("Triangle.draw()");
    }
}

成员方法、权限修饰符、this关键字

🎃成员方法、权限修饰符、this关键字在类的操作过程中使用十分频繁,是类中必不可缺的一部分,学好他们能让我们类的学习更方便!

成员方法

🎃很简单,方法是放在类的大括号内部的,如图所示!编辑

package eee;
public class This1 {
  public void kali(int aa){   //这是一个kali方法,返回类型为void,所以不能使用return
  }
  public static int[] linux(int[] aa) {   //这是一个linux方法,返回一个数组,返回值使用return
    return aa;
  }
  public static void main(String[] args) {
    // TODO 自动生成的方法存根
  }
}

权限修饰符

🎃看标题也是十分容易理解的,权限修饰符就是使这个方法或者是这个类赋予一定的访问权限,以此来达到限制访问的目的,那么我们就要用到权限修饰符!今天呢我们要学习的是三个比较基础的权限修饰符private、protected以及public

本类 同一个包下(其他类和子类) 不同包下(其他类和子类)
public 可见 可见 可见
protected 可见 可见 不可见
private 可见 不可见 不可见

注意:如果声明类时三者修饰符都未使用默认为public,则这个类预设为包存取范围,即只有一个包中的类可以访问这个类的成员方法或成员方法

this关键字

🎃this关键字的作用分为两个:第一个就是调用类的变量,在类的成员呢变量和参数变量重名的时候就要用到。第二个就是调用类的构造方法,用于两个相同的成员方法

第一种作用

显而易见,this后的name变量是成员变量,而后面的是形式参数

编辑

若按照以下代码,则输出的是形式参数传入的值,这样我们就不能调用成员变量,所以我们要用到this关键字编辑

编辑

package eee;
public class Eggcake {
  String name = "abc";
  public void showd(String name) {
  System.out.println(this.name);  //我们会发现这里的name和成员变量的name同一个颜色,说明他对成员变量进行了调用
  }
  public static void main(String args[]) {
  Eggcake e1 = new Eggcake();
  e1.showd("123");
  }
}

第二种作用

第二个作用就是调用其他方法的构造方法编辑

package eee;
public class Jovy {
  int jovy;
  public Jovy(int jovy) {
    this.jovy = jovy;
    System.out.println("Jovy有"+this.jovy+"个");
  }
  public Jovy() {
    this(1);
  }
  public static void main(String[] args) {
    Jovy a1 = new Jovy(5);  //因为上方为构造方法,所以实例化即可调用
    Jovy a2 = new Jovy(); //查看结果发现已经对构造方法进行调用
    // TODO 自动生成的方法存根
  }
}

文末总结

  • 多态的前提:必须有继承和重写
  • this关键字有两个用途:调用成员变量、调用构造方法
  • 权限修饰符不写默认为public

本篇文章是对Java类基础进行总结归纳,更好的辅助Java学习

编辑


目录
相关文章
|
21小时前
|
安全 Java 调度
Java一分钟:多线程编程初步:Thread类与Runnable接口
【5月更文挑战第11天】本文介绍了Java中创建线程的两种方式:继承Thread类和实现Runnable接口,并讨论了多线程编程中的常见问题,如资源浪费、线程安全、死锁和优先级问题,提出了解决策略。示例展示了线程通信的生产者-消费者模型,强调理解和掌握线程操作对编写高效并发程序的重要性。
10 3
|
1天前
|
Java
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
|
2天前
|
存储 安全 Java
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
|
3天前
|
Java 数据库
【Java多线程】对线程池的理解并模拟实现线程池
【Java多线程】对线程池的理解并模拟实现线程池
11 1
|
21小时前
|
Java
Java一分钟:线程协作:wait(), notify(), notifyAll()
【5月更文挑战第11天】本文介绍了Java多线程编程中的`wait()`, `notify()`, `notifyAll()`方法,它们用于线程间通信和同步。这些方法在`synchronized`代码块中使用,控制线程执行和资源访问。文章讨论了常见问题,如死锁、未捕获异常、同步使用错误及通知错误,并提供了生产者-消费者模型的示例代码,强调理解并正确使用这些方法对实现线程协作的重要性。
9 3
|
21小时前
|
安全 算法 Java
Java一分钟:线程同步:synchronized关键字
【5月更文挑战第11天】Java中的`synchronized`关键字用于线程同步,防止竞态条件,确保数据一致性。本文介绍了其工作原理、常见问题及避免策略。同步方法和同步代码块是两种使用形式,需注意避免死锁、过度使用导致的性能影响以及理解锁的可重入性和升级降级机制。示例展示了同步方法和代码块的运用,以及如何避免死锁。正确使用`synchronized`是编写多线程安全代码的核心。
10 2
|
1天前
|
安全 Java
深入理解Java并发编程:线程安全与性能优化
【5月更文挑战第11天】在Java并发编程中,线程安全和性能优化是两个重要的主题。本文将深入探讨这两个方面,包括线程安全的基本概念,如何实现线程安全,以及如何在保证线程安全的同时进行性能优化。我们将通过实例和代码片段来说明这些概念和技术。
2 0
|
1天前
|
Java 调度
Java并发编程:深入理解线程池
【5月更文挑战第11天】本文将深入探讨Java中的线程池,包括其基本概念、工作原理以及如何使用。我们将通过实例来解释线程池的优点,如提高性能和资源利用率,以及如何避免常见的并发问题。我们还将讨论Java中线程池的实现,包括Executor框架和ThreadPoolExecutor类,并展示如何创建和管理线程池。最后,我们将讨论线程池的一些高级特性,如任务调度、线程优先级和异常处理。
|
1天前
|
安全 Java
【JAVA进阶篇教学】第十篇:Java中线程安全、锁讲解
【JAVA进阶篇教学】第十篇:Java中线程安全、锁讲解
|
1天前
|
安全 Java
【JAVA进阶篇教学】第六篇:Java线程中状态
【JAVA进阶篇教学】第六篇:Java线程中状态