房上的猫:类的无参方法

一.类的无参方法  1.概述:   (1)类是由一组具有相同属性和共同行为的实体抽象而来的   (2)对象执行的操作是通过编写类的方法实现的   (3)类的每一个方法都实现了一个功能  2.定义类的方法   编写方法:    (1)定义方法名和返回值类型    (2)在{}中编写方法的主体部分    注意:     (1)方法体放在一对大括号中(方法体就是一段程序代码,完成一定的工作)     (2)方法名主要在调用这个方法时使用(在java中一般采用骆驼式命名法)     (3)方法执行后可能会返回一个结果,该结果的类型称为返回值类型(使用return语句返回值)   语法:

return 表达式;

   注:     (1)return语句是跳转语句     (2)如果方法没有返回值,则返回值类型为void     (3)在编写程序时一定要注意方法声明中返回值的类型和方法体中真正返回值的类型是否匹配(如果不匹配,编译器会报错)   return跳转语句的作用:    (1)跳出方法    (2)给出结果   注:定义类的方法必须包括以下三个部分:    (1)方法的名称    (2)方法返回值的类型    (3)方法的主体  3.方法调用   语法:

   对象名.方法名();

   注:     (1)java中的类是程序的基本单位     (2)每个对象需要完成特定应用程序功能     (3)当需要某一对象执行一项特定操作时,通过调用该对象的方法来实现     (4)在类中,类的不同成员方法之间也可以进行互相调用   方法调用形式:    (1)同一个类中的方法,直接使用方法名调用该方法    (2)不同类的方法,首先创建对象,在使用"对象名.方法名()"来调用  4.变量的作用域   成员变量和局部变量    java中以类来组织程序,类中可以定义变量和方法,在类的方法中,同样也可以定义变量   定义变量:    (1)成员变量:     可以直接使用本类定义成员变量,如果其他类的方法要访问它,必须首先创建该类的对象,然后才能通过操作符"."来引用    (2)局部变量:     它的作用域仅仅在定义该变量的方法内,因此只有在这个方法中能够使用  5.成员变量与局部变量的区别:

public class Aini {
    String house;
    int cats;
        //成员变量,java自动给赋初始值
    public void show() {
        int a = 0;
        String a1 = null;
                //局部变量,要自行声明并赋值
    }

}

  (1)作用域不同:    局部变量的作用域仅限于定义它的方法,在该方法外无法访问    成员变量的作用域在整个类都是可见的,所有成员方法都可以使用,如果访问权限允许,还可以在类外部使用成员变量

  (2)初始值不同:    对于成员变量,如果在类定义中没有给它赋初始值,java会给它一个默认值,基本数据类型的值为0,引用类型的值为null     (初始值的赋值,详细见我发的上一篇文章“类和对象>万物皆对象”)    但是java不会给局部变量赋初始值,因此局部变量必须要定义赋值后再使用   注:在同一个方法中,不允许有同名的局部变量:    在不同方法中,可以有同名的局部变量    局部变量可以和成员变量同名,并且在使用时局部变量具有更高的优先级  6.面向对象编程:   背景:    面向对象编程(Object Oriented Programming ,OOP)是一种计算机编程架构,是20世纪90年代才流行起来的一种软件编程思想.OOP的一条基本原则就是计算机是由单个能够起到子程序作用的单元或对象组合而成的,采用这种框架编程主要起到重用性,灵活性和扩展性的强大作用   语法:

main(){
    //显示总成绩
     调用方法;
    //显示平均分
     调用方法;
   }

  好处:    (1)类的方法可以实现某个特定的功能,其他的类不需要知道它是如何实现的    (2)知道实现此功能的类和它的方法名,就可以直接调用,而不用重复编码

  案例:

public class Objects_009 {
    String pp;
    String cpu;
    String zb;
    String xsq;
    String yp;
    String nc;
        //声明成员变量
    public String show() {
        System.out.println("品牌:" + pp + "\nCPU:" + cpu + "\n主板:" + zb
                + "\n显示器:" + xsq + "\n硬盘:" + yp + "\n内存:" + nc);
        //创建方法,写出输出格式
        return "程序结束!";
        //String类型方法,对应String类型写出返回值,(在程序最后输出)
    }

    public static void main(String[] args) {//在main方法中调用输出
        //创建扫描仪
        Scanner bdqn = new Scanner(System.in);
        //使用new关键字创建对象并调用类
        Objects_009 a = new Objects_009();
        //为成员变量赋值
        System.out.print("请输入品牌:");
        a.pp = bdqn.next();
        System.out.print("请输入CPU:");
        a.cpu = bdqn.next();
        System.out.print("请输入主板:");
        a.zb = bdqn.next();
        System.out.print("请输入显示器:");
        a.xsq = bdqn.next();
        System.out.print("请输入硬盘:");
        a.yp = bdqn.next();
        System.out.print("请输入内存:");
        a.nc = bdqn.next();
        //接收show方法的返回值,并输出方法中内容(输出结果最后一项为返回值的值)
        String a1 = a.show();
        System.out.println(a1);
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小灰灰

Java学习之深拷贝浅拷贝及对象拷贝的两种方式

I. Java之Clone 0. 背景 对象拷贝,是一个非常基础的内容了,为什么会单独的把这个领出来讲解,主要是先前遇到了一个非常有意思的场景 有一个任务,需要...

2519
来自专栏Brian

C++ Virtual And Pure Virtual Explained

---- Virtual Virtual Function是成员函数,其行为在派生类中被覆盖。与非虚函数不同的是,即使没有关于类的实际类型的编译时信息,也会保留...

3376
来自专栏机器学习从入门到成神

C++中重载、重写(覆盖)的区别实例分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

913
来自专栏程序员宝库

Java 中整型的缓存机制

本文将介绍Java中Integer的缓存相关知识。这是在Java 5中引入的一个有助于节省内存、提高性能的功能。首先看一个使用Integer的示例代码,从中学习...

763
来自专栏java一日一条

Java ArrayList的不同排序方法

由于其功能性和灵活性,ArrayList是 Java 集合框架中使用最为普遍的集合类之一。ArrayList 是一种 List 实现,它的内部用一个动态数组来存...

462
来自专栏工科狗和生物喵

【计算机本科补全计划】Java学习笔记(二) 基础语法红黄蓝

正文之前 刚才突然想起来自己CCF报名还没报名成功,就是一阵心绞痛,明晚就截止了,要是没报上,到时候怎么跟老师交差,突然想起来,如果老师问我最近干了啥,可以用准...

3486
来自专栏星汉技术

Java API:Object class

1147
来自专栏个人随笔

C#基础 1(异同与区别及其特点)

一.值类型与引用类型的主要区别   1.值类型分配在栈上,引用类型分配在堆上   2.值类型继承自ValueType,引用类型不会继承自ValueType   ...

2705
来自专栏大闲人柴毛毛

深入Java虚拟机——JVM内存详解

在C++中,程序员拥有每一个对象的所有权,但与此同时还肩负着释放对象内存空间的责任;而Java由于有了虚拟机的帮助,程序员拥有对象的所有权的同时不再需要释放对象...

36112
来自专栏Deep learning进阶路

C++随记(十)--类与对象(2)

C++随记(十)--类与对象(2) 1、  类的构造函数 类的数据成员是不能在声明类的时候初始化的!因为类不是一个实体,是一种抽象类型,并不占存储空间。C++为...

1680

扫码关注云+社区