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学习

编辑


目录
相关文章
|
2天前
|
Java 开发者
Java Character 类详解
Java中的`Character`类是`java.lang`包的一部分,用于将基本类型`char`封装为对象,并提供了丰富的静态方法来处理字符,如类型判断、大小写转换等。
|
2天前
|
安全 Java
Java StringBuffer 和 StringBuilder 类详解
在 Java 中,`StringBuffer` 和 `StringBuilder` 用于操作可变字符串,支持拼接、插入、删除等功能。两者的主要区别在于线程安全性和性能:`StringBuffer` 线程安全但较慢,适用于多线程环境;`StringBuilder` 非线程安全但更快,适合单线程环境。选择合适的类取决于具体的应用场景和性能需求。通常,在不需要线程安全的情况下,推荐使用 `StringBuilder` 以获得更好的性能。
|
2天前
|
Java 索引
Java String 类详解
Java 中的 `String` 类用于表示不可变的字符序列,是 Java 标准库 `java.lang` 包的一部分。字符串对象一旦创建,其内容不可更改,修改会生成新对象。
|
6天前
|
存储 缓存 安全
【Java面试题汇总】多线程、JUC、锁篇(2023版)
线程和进程的区别、CAS的ABA问题、AQS、哪些地方使用了CAS、怎么保证线程安全、线程同步方式、synchronized的用法及原理、Lock、volatile、线程的六个状态、ThreadLocal、线程通信方式、创建方式、两种创建线程池的方法、线程池设置合适的线程数、线程安全的集合?ConcurrentHashMap、JUC
【Java面试题汇总】多线程、JUC、锁篇(2023版)
|
17天前
|
监控 Java 调度
【Java学习】多线程&JUC万字超详解
本文详细介绍了多线程的概念和三种实现方式,还有一些常见的成员方法,CPU的调动方式,多线程的生命周期,还有线程安全问题,锁和死锁的概念,以及等待唤醒机制,阻塞队列,多线程的六种状态,线程池等
79 6
【Java学习】多线程&JUC万字超详解
|
2天前
|
Java
深入理解Java中的多线程编程
本文将探讨Java多线程编程的核心概念和技术,包括线程的创建与管理、同步机制以及并发工具类的应用。我们将通过实例分析,帮助读者更好地理解和应用Java多线程编程,提高程序的性能和响应能力。
15 4
|
10天前
|
Java 调度 开发者
Java并发编程:深入理解线程池
在Java的世界中,线程池是提升应用性能、实现高效并发处理的关键工具。本文将深入浅出地介绍线程池的核心概念、工作原理以及如何在实际应用中有效利用线程池来优化资源管理和任务调度。通过本文的学习,读者能够掌握线程池的基本使用技巧,并理解其背后的设计哲学。
|
1天前
|
安全 Java 调度
Java 并发编程中的线程安全和性能优化
本文将深入探讨Java并发编程中的关键概念,包括线程安全、同步机制以及性能优化。我们将从基础入手,逐步解析高级技术,并通过实例展示如何在实际开发中应用这些知识。阅读完本文后,读者将对如何在多线程环境中编写高效且安全的Java代码有一个全面的了解。
|
10天前
|
缓存 监控 Java
Java中的并发编程:理解并应用线程池
在Java的并发编程中,线程池是提高应用程序性能的关键工具。本文将深入探讨如何有效利用线程池来管理资源、提升效率和简化代码结构。我们将从基础概念出发,逐步介绍线程池的配置、使用场景以及最佳实践,帮助开发者更好地掌握并发编程的核心技巧。
|
6天前
|
Java 调度 开发者
Java中的多线程基础及其应用
【9月更文挑战第13天】本文将深入探讨Java中的多线程概念,从基本理论到实际应用,带你一步步了解如何有效使用多线程来提升程序的性能。我们将通过实际代码示例,展示如何在Java中创建和管理线程,以及如何利用线程池优化资源管理。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧,帮助你更好地理解和应用多线程编程。