【Java入门】-- Java基础详解之 [Java面向对象编程(初级)]

这篇具有很好参考价值的文章主要介绍了【Java入门】-- Java基础详解之 [Java面向对象编程(初级)]。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.类与对象

2.类与对象的区别与联系

3.对象在JVM内存中的存在形式(重要)

4.属性/成员变量/字段

5.如何创建对象

6.类和对象的内存分配机制

7.面向对象的三大特征?

8.面向对象和面向过程?

9.匿名对象

10.方法(method)

11.方法的重载(overload)

12.可变形参

13.递归

14.封装

15.四种访问权限修饰符

16.构造器

17.什么是javaBean

18.this是什么?

19.package和import


1.类与对象

抛砖引玉,一个小动物的问题引出类与对象:小明养了两只小狗狗,一只名字叫小黑,今年2岁,黑色。还有一只叫小白,4岁,白色。输入小狗名字就显示狗狗的名字,年龄,颜色。如果输入的名字错误,就显示没有这个狗狗。

  • 使用现有的技术解决:
    • 定义变量方式解决
    • 使用数组解决
  • 使用这两个技术解决问题的痛点:
    • 不利于数据的管理,效率低。所以Java设计者引入了类与对象的概念,解决新的需求。
  • 代码:
    public class Object01{
    //小明养了两只小狗狗,一只名字叫小黑,今年2岁,黑色。还有一只叫小白,4岁,白色。
    //输入小狗名字就显示狗狗的名字,年龄,颜色。如果输入的名字错误,就显示没有这个狗狗。
        public static void main(String[] args){
            //如何使用面向对象(OOP)解决
            //1.创建一只狗狗对象(实例化)  new Cat();
            //Dog dog1 = new Dog(); 把创建的狗狗赋给cat1
            //dog1就是一个对象了
        
            //创建第一只狗狗
            Dog dog1 = new Dog();
            dog1.name = "小黑";
            dog1.age = 2;
            dog1.color = "黑色";
              
            //创建第二只狗狗
            Dog dog2 = new Dog();
            dog2.name = "小白";
            dog2.age = 4;
            dog2.color = "白色";
            
            System.out.println("第一只狗狗的信息:"+dog1.name+","+dog1.age+"岁,"+dog1.color);
            System.out.println("第二只狗狗的信息:"+dog2.name+","+dog2.age+"岁,"+dog2.color);
        }
    }
    
    //定义狗狗类
    class dog{
        String name;
        int age;
        String color;
    }

2.类与对象的区别与联系

  •  类是抽象的,是概念,代表一类事物,如动物,植物等...

  • 对象是具体的,实际的,代表一个具体的事务。

  • 类是对象的模板,对象是类其中的一个实例。

3.对象在JVM内存中的存在形式(重要)

【Java入门】-- Java基础详解之 [Java面向对象编程(初级)],Java入门,java,开发语言

4.属性/成员变量/字段

 从概念或叫法上看:成员变量 = 属性 = field(字段)

属性是一个类的组成部分,一般是基本数据类型,也可以是引用数据类型。

注意事项:

  • 属性的定义语法同变量。例如:访问修饰符  属性类型   属性名;
    访问修饰符有四种:public、proctected、默认、private
  • 属性的定义的类型可以是基本数据类型或引用数据类型。
  • 属性不赋值,有默认值。

byte 0  short 0  int 0  long 0  flout 0.0  double 0.0  boolean false  String null   char \u0000

5.如何创建对象

  •  先声明再创建
    Cat cat;  //声明对象cat
    cat = new  Cat();  //创建
  • 直接创建
    Cat cat = new Cat();

如何访问属性:

基本语法:对象名.属性名     如:cat.name;

6.类和对象的内存分配机制

  1. Java内存的结构分析
    1. 栈:一般存放基本数据类型(局部变量)
    2. 堆:存放对象(Cat cat,数组等)
    3. 方法区:常量池(常量,如字符串),类加载信息。

7.面向对象的三大特征?

  • 继承:继承是指一个类(称为子类或派生类)可以继承另一个类(称为父类或基类)的属性和方法。子类可以重用父类的代码,并且可以在此基础上进行扩展或修改。通过继承,子类可以获得父类的特性,形成类之间的层次结构。这样可以提高代码的可重用性和灵活性,减少重复编写代码的工作量。
  • 封装:封装是将数据和对数据的操作封装到一个类中,对外部隐藏具体的实现细节,只对外暴露必要的接口。通过封装,我们可以控制对数据的访问方式,提供统一的接口来操作数据,从而提高代码的可读性、可维护性和安全性。封装还有助于实现代码的模块化和解耦。
  • 多态:多态是指同一个方法可以在不同的对象上具有不同的行为。在多态的使用中,我们可以使用父类类型的引用指向子类的对象。通过多态机制,我们可以实现动态绑定和运行时的方法调用。多态提高了代码的灵活性和可扩展性,使得程序能够以更加通用和抽象的方式进行编写。

8.面向对象和面向过程?

面向过程(POP):强调的是功能行为,以函数为最小的单位,考虑怎么做。

面向对象(OOP):将功能封装进对象,强调具备了功能的对象,以类\对象为最小单位,考虑谁去做。

9.匿名对象

我们可以不定义对象的句柄,直接调用这个对象的方法。例如:new Cat().start();
注意:如果一个对象的方法只需要一次调用,那么可以使用匿名对象。

10.方法(method)

  • 方法是类或者对象的"行为“ ,用来完成某个操作;方法不能独立存在,必须定义在类中。
  • 方法的声明格式:
    访问修饰符  返回值类型  方法名(参数类型 形参,.....){
             方法体;
            return  返回值;(返回值类型void,没有返回值)
  • }
  • 举例:
    public class Car{
        private int age;
        public int getAge(){
           return age;     
        }
    }

注意事项:

  1. 方法被调用一次就会执行一次。
  2. 没有具体返回值的情况,返回值类型用void,方法体就不必用return。
  3. 不可用在方法内部定义方法。 

11.方法的重载(overload)

重载就是允许存在一个以上的同名方法,只要他们参数个数或类型不同。

特点:

与返回值类型无关,参数列表不同。

例如:

int  add(int a,int b){return a+b;}

int add(int a){return x;}

int add(float a,float b){return a+b;}

12.可变形参

JDK5以前采用数组形参来定义方法,传入多个同类型的变量

public static void test(int a,String[] aa);

JDK5以后采用可变个数形参来定义方法

public static void test(int a, String...aa);

注意:

  • 声明格式:方法名(参数类型名...参数名)。
  • 可变参数:方法参数部分指定类型的参数个数是可变多个:0个,1个或多个。
  • 可变个数形参的方法与同名方法之间彼此构成重载。 
  • 可变参数方法的使用与方法参数部分使用数组一致。
  • 同一个方法的形参上只能声明一个可变参数。

13.递归

 简单来说就是一个方法体调用它自己。

递归方法包含了一种隐式的循环,它会重复执行某段代码。

递归一定要向已知的方法递归,否则递归就变成了无穷递归,类似死循环.

举例:

//计算1--100自然数的和

public int sum(int num){

        if(num == 1){

               return 1;        

        }else{

                return num + sum(num -1) ;       

        }

}

14.封装

  •  为什么需要封装?有什么用?
    • 比如我要使用电脑,只需要开机进入系统就能用了,没有必要了解系统底层或硬件内结构
  • 程序设计追求高内聚,低耦合。
    • 高内聚是指类的内部数据操作细节自己完成,不允许外部干涉。
    • 低耦合:仅对外暴露少量的方法使用。
  • 隐藏方法内部,之对外公开简单的接口。便于外界调用,提高系统的可扩展性,可维护性。

15.四种访问权限修饰符

【Java入门】-- Java基础详解之 [Java面向对象编程(初级)],Java入门,java,开发语言

class只能使用public,默认

public 类可以在任何地方访问。

默认类只能被同一个包的类访问。

16.构造器

构造器的特征:

  • 具有类相同的名称。
  • 不声明返回值类型
  • 不能被static,final,synchronized,abstract,native修饰,不能有return语句。

构造器作用:

创建对象,初始化对象

注意:

  • Java语言中每个类都有构造器
  • 默认构造器的修饰符与类的修饰符一致。
  • 一旦显示定义了构造器,系统不再提供默认构造器。
  • 一个类可以创建多个重载的构造器。
  • 父类构造器不可被继承。

属性赋值的过程:

默认初始化--》显式初始化--》构造器初始化--》通过"对象.属性"或"对象.方法"赋值

17.什么是javaBean

  • JavaBean是Java写成的可重用组件。
  • 所谓JavaBean指的是符合如下标准的Java类:
    • 类是公共的
    • 有一个无参的公共构造器
    • 有属性,且有get,set方法
  • 用户可以使用JavaBean将功能,处理,值,数据库访问和其他任何可以用Java代码创造的对象进行打包,并且其他的开发者可以通过内部JSP页面,Servlet,其他JavaBean,applet程序或者应用来使用这些对象。用户可以认为javaBean提供了一种随时可以复制粘贴的功能,而不用关心变化。

举例:

【Java入门】-- Java基础详解之 [Java面向对象编程(初级)],Java入门,java,开发语言

18.this是什么?

this可以调用类的属性,方法,构造器。

它可以在方法内部使用,这个方法所属对象的引用。

在构造器内部使用,表示该构造器正在初始化的对象。

注意:

  • 可以在类的构造器使用”this(形参列表)“的方式,调用本类中重载的其他构造器!
  • 构造器中不能通过this(形参列表)调用自身构造器
  • this(形参列表)必须声明在类的构造器首行!
  • 类的构造器中,最多只能声明一个this(形参列表)

19.package和import

包(package):

  • package语句作为Java源文件的第一条语句,指明该文件中定义的类所在的包
    格式:package  顶层包.子包名;
  • 包对应于文件系统的目录,package语句中,用“.”来指明包(目录)的层次;
  • 包通常用小写单词标识。
  • 包的作用:
    • 包可以包含类和子包,划分项目层次,便于管理
    • 解决类命名冲突问题
    • 控制访问权限

导入 (import):

为使用定义在不同包中的Java类,需要用import语句引入指定包层次下所需的类或全部类

语法:import  包名.类名;文章来源地址https://www.toymoban.com/news/detail-527448.html

到了这里,关于【Java入门】-- Java基础详解之 [Java面向对象编程(初级)]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java基础(七)面向对象编程(高级)

    回顾类中的实例变量(即非static的成员变量) 创建两个Circle对象: Circle类中的变量radius是一个实例变量(instance variable),它属于类的每一个对象,c1中的radius变化不会影响c2的radius,反之亦然。 如果想让一个成员变量被类的所有实例所共享,就用static修饰即可,称为类变量(

    2023年04月16日
    浏览(11)
  • 7.面向对象编程(基础部分)|Java学习笔记

    java 设计者 引入 类与对象(OOP) ,根本原因就是现有的技术,不能完美的解决新的新的需求. 类是抽象的,概念的,代表一类事物,比如人类,猫类…, 即它是数据类型. 对象是具体的,实际的,代表一个具体事物, 即 是实例. 类是对象的模板,对象是类的一个个体,对应一个实例

    2024年02月08日
    浏览(20)
  • Java面向对象程序开发——网络编程入门知识

    ​ C/S结构 :client/sever是指客户端和服务器结构。常见程序有QQ、迅雷等软件。 B/S结构 :browser/sever是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。 Web应用系统开发的两种流行架构 两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程,就是在一

    2024年02月12日
    浏览(15)
  • Java面向对象编程实战详解(图书管理系统示例)

    Java面向对象编程(Object-Oriented Programming,OOP)是Java语言的核心特性之一,它提供了一种组织代码的方法,将现实世界中的事物抽象为对象,并通过对象之间的交互来构建程序。Java面向对象编程包含以下主要概念: 类和对象(Class and Object): 类是面向对象编程的基本构建块

    2024年02月15日
    浏览(13)
  • 【Java基础教程】特别篇:面向对象合辑——掀开Java 的面向对象盖章时代,一起来发现OOP的编程秘密!~

    面向对象编程(Object-Oriented Programming, OOP)是一种广泛应用于软件开发的编程范式 。Java是一种面向对象的编程语言,它提供了丰富的工具和特性来支持面向对象编程。本文将详细介绍Java面向对象的全部知识。 我们可以把一个Java类想象成是一个蓝图或者模具,用来创建对象。就

    2024年02月17日
    浏览(16)
  • 【Java基础篇 | 面向对象】—— 封装详解

    个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【JavaSE_primary】 本专栏旨在分享学习Java的一点学习心得,欢迎大家在评论区讨论💌 封装概念 : 将数据和对数据的操作封装在一个类中,对外部的访问只通过类提供的

    2024年02月09日
    浏览(9)
  • java基础入门-05-【面向对象进阶(static&继承)】

    类的定义格式如下: 例如: 例如: 1.3.1 封装的步骤 1.使用 private 来修饰成员变量。 2.使用 public 修饰getter和setter方法。 1.3.2 封装的步骤实现 private修饰成员变量 public修饰getter和setter方法 1.4.1 构造方法的作用 在创建对象的时候,给成员变量进行初始化。 初始化即赋值的意

    2024年02月03日
    浏览(32)
  • 【Java 初级】Spring核心之面向切面编程(AOP)

    tip:作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。 💕💕 推荐: 体系化学习Java(Java面试专题) AOP(面向切面编程)是一种编程范式,用于将横切关注点(如日志记录、性能统计等

    2024年02月04日
    浏览(18)
  • 【Java基础教程】(七)面向对象篇 · 第一讲:上干货!面向对象的特性、类与对象、内存结构引用分析、垃圾收集器 GC处理、封装性详解、构造方法、匿名对象、简单 Java 类~

    程序是将数据和逻辑封装在一起的代码段。在Java中,方法是常用的代码段封装方式。然而,在Java中,方法必须存在于一个类中才能使用。因此,我们将进入本章的核心内容——面向对象编程。 利用面向对象设计的程序可以实现代码的重用,并方便开发者进行项目维护。面向

    2024年02月13日
    浏览(11)
  • Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API

    Java 是一种由 Sun Microsystems 于 1995 年首次发布的编程语言和计算平台。Java 是一种通用的、基于类的、面向对象的编程语言,旨在减少实现依赖性。它是一个应用程序开发的计算平台。Java 快速、安全、可靠,因此在笔记本电脑、数据中心、游戏机、科学超级计算机、手机等领

    2024年03月24日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包