首页 > 编程语言 >java面向对象

java面向对象

时间:2024-07-07 17:30:56浏览次数:8  
标签:java 变量 对象 面向对象 参数 new 方法 public

java面向对象

面向对象程序设计OOP( Object Oriented Programming)
对象的特征——属性

对象的每个属性都有特定的值

对象的操作——方法

对象:描述客观事物的具体实体

类class(自定义数据类型)引用数据类性:

一组具有相同属性的对象集合

是对象的抽象,对象是类的具体

public class Scanner{

…}/jdk自带的类/

Scanner input =new Scanner(System.in);

public class 类名{//类名:帕斯卡命名规则

//定义属性部分(成员变量)

//方法(成员方法)

}

使用对象的步骤

创建对象:类名 对象名=new 类名();

School center=new School();

引用对象成员:使用“.”

引用对象的类的属性:对象名.属性

center.name="ycxy"

引用对象的类的方法:对象名.方法();

center.show()

类的成员变量可以赋初值,也可以不赋值,如果不赋值默认初始化值

在这里插入图片描述

画类图的工具:Rose,Visio

equals()方法:判断两个对象是否相等相等返回Ture,不相等返回False

类和对象的进阶

编写类

使用编写的类创建对象

方法的编写实现

类的方法

访问修饰符 返回值 方法名(){

方法体

}

public void show(){

}

void:无返回值

有返回值:返回值类型

return 返回值

参数

方法名()无参方法

public void show(){

}

方法名(参数)带参方法

public void show(int i,string s){

return;//结束方法

}

(1)方法有没有参数和返回值,是两码事,毫无相关

(2)带参方法,参数个数可以有一个,也可以有多个,多个参数之间用逗号隔开

(3)带参方法,参数名字可以随意取,符合变量命名规则

(4)方法定义处的参数是形式参数

方法调用处传的值是实际参数

(5)形参和实参的名字可以不一样,但类型要一样,顺序也要一样

方法的调用

直接调用

new对象调用

对象数组 student[] stus=new Student[5];

NullPointerExaption空指针异常(对空的对象进行操作)

方法的传参

参数类型如果是基本数据类型

int char double char boolean float(传递的是值(拷贝))导致参数的变化和实参无关

参数如果是引用类型

String 数组 自定义数据类型{传递的是地址形参和实参指的是同一个对象,形参的变化影响了实参(实参也变了)}
在这里插入图片描述

问题总结:

1.text在public static void main(String[] args)中只能使用静态变量,所以创建的对象要在main方法中

2.成员变量数组添加时形参是具体的对象

public class contest {
    int score;
} 
 contest c1 = new contest();
public void addcontester(contest c1) {

        for (int i = 0; i < coer.length; i++) {
          if (coer[i]==null){
              coer[i] = c1;
              break;
          }

        }
    }

3.注意break的位置和对for循环的工作过程影响

Student stul=new Student();

stul.**

(1)Student()应该是个方法,但这个方法比较特殊,方法和类名一样。首字母大写。

(2)构建多个成员变量对象时,每一次都要new一个对象,然后对象属性赋值 ,比较繁琐。

this 的使用

this .showinfo();调用同一类下的普通方法

调用属性 this.name=“大黄”;

本类调用构造方法 this(“小黑”,100,100,"雄“);//要写在第一句

方法重载

同一个方法不能在一个类中重复出现

在这里插入图片描述

特点:这几个方法在同一个类里

方法名字相同,方法的参数项(方法个数不同或参数类型不同)不同

成员变量和局部变量

成员变量:在类的范围里声明,在类的整个范围都有能用,也叫做全局变量。没有赋值系统默认初始化(int 0)。

局部变量:在局部声明(方法里,代码体里),只能在声明的地方使用,在使用前必须赋予初始值。

EHZLP-1719907877147)]

特点:这几个方法在同一个类里

方法名字相同,方法的参数项(方法个数不同或参数类型不同)不同

成员变量和局部变量

成员变量:在类的范围里声明,在类的整个范围都有能用,也叫做全局变量。没有赋值系统默认初始化(int 0)。

局部变量:在局部声明(方法里,代码体里),只能在声明的地方使用,在使用前必须赋予初始值。

局部变量可以和全局变量同名也可以不同名,同名的时候就近使用。

思维导图

Java面向对象编程思维导图(详细版)

标签:java,变量,对象,面向对象,参数,new,方法,public
From: https://blog.csdn.net/whc15059539669/article/details/140129711

相关文章

  • Java基础——继承与多态
    Java基础——继承与多态方法重写构造方法不能被重写publicclassFpet{Stringname;inthealth;intlove;publicvoidprint(){System.out.println("宠物的自白:");System.out.println("我的名字是"+this.getName()+"健康度是"+t......
  • Java--阶段练习(汽车租赁)
    阶段练习面向对象的设计过程1.分析需求2.找名词(类,属性)父类:汽车:品牌,车牌,日租金子类:轿车:型号客车:座位数汽车业务类汽车租赁管理类3.动词(方法)汽车类(计算租金)汽车业务类(初始化车信息,提供租赁服务)汽车租赁管理类(入口和系统界面)4.优化设计父子类的关系:汽车类—>......
  • SpringBoot-校园疫情防控系统-93033(免费领源码+开发文档)可做计算机毕业设计JAVA、PHP
    springboot校园疫情防控系统摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对校园疫情防控等问题,对校园疫情防控进行研究分析,然后开发设计出......
  • Java虚拟机(JVM):深入理解与性能调优
    引言Java虚拟机(JVM)是Java平台的核心组件,它使得Java程序具有跨平台运行的能力。JVM不仅负责执行Java字节码,还管理着内存分配、垃圾回收等关键任务。深入理解JVM的工作原理对于进行有效的性能调优至关重要。本文将详细介绍JVM的工作原理,包括内存模型、垃圾回收机制,并分享一些实......
  • 基于Django+微信小程序的旅游资源信息管理系统(免费领源码+数据库)可做计算机毕业设计JA
    django广西-东盟旅游资源信息管理系统小程序摘 要在社会快速发展和人们生活水平提高的影响下,旅游产业蓬勃发展,旅游形式也变得多样化,使旅游资源信息的管理变得比过去更加困难。依照这一现实为基础,设计一个快捷而又方便的基于小程序的旅游资源信息管理系统是一项十分重要并且......
  • java 如何暴露header给前端
    在Java中,将HTTP响应的Header暴露给前端通常涉及在Web应用程序的服务器端代码中设置这些Header。这可以通过不同的JavaWeb框架来实现,比如SpringMVC、JAX-RS(Jersey)、Servlet等。这里,我将提供一个使用SpringMVC框架的示例,因为它在JavaWeb开发中非常流行且易于理解。1.示例:使用S......
  • 04-JS中的面向对象ES5
    01JS对象中key的类型02创建对象的方法03对象的常见操作3.1访问对象的属性<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><m......
  • Java编程:解决实际问题的高效方法
    ......
  • Java入门基础-数组
    Java入门基础-04数组本章知识点总结于黑马程序员的视频课程:《Java入门基础课程》,是对上课做的笔记Java入门基础课程视频地址上一章:Java入门基础-03程序流程控制目录Java入门基础-04数组@[TOC](目录)一、认识数组二、数组的定义和访问1.静态初始化数组数组的访问数组......
  • Java面试八股之MYISAM和INNODB有哪些不同
    MYISAM和INNODB有哪些不同MyISAM和InnoDB是MySQL数据库中两种不同的存储引擎,它们在设计哲学、功能特性和性能表现上存在显著差异。以下是一些关键的不同点:事务支持:MyISAM不支持事务,没有回滚或崩溃恢复的能力。InnoDB是事务安全型的,支持事务处理、回滚、行级锁定和外键约......