面向对象(方法的形式参数)

1,局部变量与成员变量的区别

  • 1,在类中的位置不同
    成员变量:在类中方法外
    局部变量:在方法定义中或者方法声明上
  • 2,在内存中的位置不同
    成员变量:在堆内存(成员变量属于对象,对象进堆内存)
    局部变量:在栈内存(局部变量属于方法,方法进栈内存)
  • 3,生命周期不同
    成员变量:随着对象的创建而存在,随着对象的消失而消失
    局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
  • 初始化不同
    成员变量:有默认初始化值
    局部变量:没有默认初始化值,必须定义,赋值,然后才能使用

2, 方法的形式参数

  • 1,基本数据类型当作形式参数
  • 2,引用数据类型当作形式参数
  • class Demo1_Student {
    public static void main(String[] args) {
    //创建对象的格式:类名 对象名 = new 类名();
    //对象名:其实就是合法的标识符,如果是一个单词所有字母小写,如果是多个单词,从第二个单词开始首字母大写
    Student s = new Student();
    //* D:如何使用成员变量呢?
    //* 对象名.变量名
    s.name = “张三”;
    s.age = 23;

    System.out.println(s.name + "..." + s.age);
    //* E:如何使用成员方法呢?
    //* 对象名.方法名(...)
    s.study();
    s.sleep();
    

    }
    }

/*
* A:案例演示
* 属性:姓名,年龄,性别
* 行为:学习,睡觉

  • B:我们如何描述现实世界事物
    • 属性 就是该事物的描述信息(事物身上的名词)
    • 行为 就是该事物能够做什么(事物身上的动词)
  • C:Java中最基本的单位是类,Java中用class描述事物也是如此
    • 成员变量 就是事物的属性
    • 成员方法 就是事物的行为
  • D:定义类其实就是定义类的成员(成员变量和成员方法)
    • a:成员变量 和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。
    • b:成员方法 和以前定义方法是一样的,只不过把static去掉,后面在详细讲解static的作用。
      */

class Student {
String name; //姓名
int age; //年龄
String gender; //性别

public void study() {               //定义学习的方法System.out.println("学生学习");
}public void sleep() {               //定义睡觉的方法System.out.println("学生睡觉");
}

}

3,方法的构造

  • class Demo1_Constructor { //Constructor构造
    public static void main(String[] args) {
    Person p = new Person(); //在一创建对象的时候,系统就帮我调用了构造方法
    //p.Person(); //构造方法不能用对象调用
    p.show();

    Person p2 = new Person();               //再次创建对象p2.show();
    

    }
    }

/*
* A:构造方法概述和作用
* 给对象的数据(属性)进行初始化
* B:构造方法格式特点
* a:方法名与类名相同(大小也要与类名一致)
* b:没有返回值类型,连void都没有
* c:没有具体的返回值return;
*/

    private String name;private int age;//构造方法public Person() {//System.out.println("Hello World!");//return;                               //构造方法也是有return语句的,格式是return;name = "张三";age = 23;}public void show() {System.out.println(name + "..." + age);}
}
public class jibenshujuleixing {public static void main(String[] args) {print(10);                              //print的返回值类型是void,故,直接调用即可;yywsq stu = new yywsq();                //创建对象并将对象的地址值赋值给s;print(stu);}public static void print (int x){           //基本数据类型当作形式参数System.out.println(x);}public static void print (yywsq s){     //引用数据类型当作形式参数s.name = "wsq";s.age = 19;s.speak();}
}class  yywsq{String name;int age;public void speak(){System.out.println(name + "..." + age);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380203.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

保护机制

0x01 概述 操作系统提供了许多安全机制来尝试降低或阻止缓冲区溢出攻击带来的安全风险,包括DEP、ASLR等。在编写漏洞利用代码的时候,需要特别注意目标进程是否开启了DEP(Linux下对应NX)、ASLR(Linux下对应PIE&#xf…

机器学习降维算法一:PCA(主成分分析算法)

引言: 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达形式。 y是数据点映射后的低维向…

VS 2005模板丢失找回的办法

安装其他插件的时候,常常模板丢失,比较郁闷,以前就用土办法,重装VS来解决这个问题,这次终于弄清楚怎么回事了,可以采取下面两个步骤解决1。复制ProjectTemplates和ItemTemplates,保证VS能找到相…

dbms数据库管理系统_基本数据库管理系统(DBMS)能力问题和解答

dbms数据库管理系统This section contains the aptitude questions and answers on basic concepts of DBMS. You will find aptitude questions on DDL, DCL, DML, DQL, TCL statements and other related topics. 本节包含有关DBMS基本概念的能力问题和解答。 您将找到有关DD…

面向对象(封装对象private关键字)

1.面向对象(封装的概述) A:封装概述 是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。B:封装好处 隐藏实现细节,提供公共的访问方式提高了代码的复用性提高安全性。C:封装原则 将不需要对外提供的内容都隐藏起来。把属性隐藏,提供公…

Codeforces Global Round 13 C

C. Pekora and Trampoline 题意:对于数组a,每次出发开始可以选择任意元素作为起始点,然后在数组上移动,落点为i a[i],直至超出数组范围,每次经过的点的值减一(先移动再减/直至减到1为止&#…

一个简单的pwn例子---read函数

内容&#xff1a; #include<stdio.h> void exploit() {system("/bin/sh"); } void func() {char str[0x20];read(0, str, 0x50); } int main() {func();return 0; }我们要做的是利用溢出执行exploit函数 分析&#xff1a; 先执行func函数&#xff0c;func函数…

重载运算符 减号_在C / C ++中使用减号(-)运算符将两个数字相加

重载运算符 减号Given two numbers, and the task is to find their addition using the minus (-) operator. 给定两个数字&#xff0c;任务是使用减(-)运算符查找它们的加法 。 As we have discusses in C/C arithmetic operators that plus () operator adds the numbers a…

【操作系统】互斥:软件解决方法

互斥&#xff1a;软件解决方法 算法一 算法思路 预留一个全局内存区域&#xff0c;并标记为turn。进程&#xff08;P0或P1&#xff09;想进入它的临界区执行时&#xff0c;要先检查turn的内容。若turn的值等于进程号&#xff0c;则该进程可以进入它的临界区&#xff1b;否则…

Oracle为即将发布的11g开发平台进行预演

Oracle为即将发布的11g开发平台进行预演 Oracle JDeveloper是一个免费的整合开发环境&#xff0c;它为模块化、开发、调试、优化、部署Java应用程序和Web服务提供了端到端&#xff08;end-to-end&#xff09;的支持。1&#xff09;完全支持J2EE5.0&#xff0c;带有EJB3.0&#…

面向对象 多态

面向对象 多态的概述及其代码的体现 A&#xff1a;多态(polymorphic)概述 事物存在的多种形态B&#xff1a;多态前提 要有继承关系要有方法重写要有弗雷引用指向子类对象。C&#xff1a;案例演示 代码体现多态 public class Dome1 { public static void main(String[] args…

Web开发入门

想要学习Web开发&#xff0c;我的建议是参照Web应用的发展历史学习。最早的时候&#xff0c;Web应用就是静态的Html页面&#xff0c;不能和用户交互&#xff0c;这是因为它最早是各高校用来分享论文的载体。后来&#xff0c;随着Internet的流行&#xff0c;Web应用的用户不再单…

算法和程序的区别

算法 计算机算法是以一步接一步的方式来详细描述计算机如何将输入转化为所要求的输出的过程&#xff0c;或者说&#xff0c;算法是对计算机上执行的计算过程的具体描述。 算法首先必须是正确的&#xff0c;即对于任意的一组输入&#xff0c;包括合理的输入与不合理的输入&…

【图论】(二分图)J. Burnished Security Updates - CodeForces

J. Burnished Security Updates 题意&#xff1a;对于所给的图&#xff08;不一定连通&#xff09;&#xff0c;选择一些点作为一个集合&#xff0c;满足每条边有且仅有一个端点为该集合的点&#xff0c;要求计算该集合大小的最小可能&#xff0c;若无法找到一个集合满足条件则…

万网与阿里巴巴业务关系图解

阿里巴巴在港上市公司今天发布公告称&#xff0c;计划分拆旗下中国万网赴美上市。那么万网与阿里巴巴其它业务是怎样个关系&#xff1f;且看我们分析。 随着传统企业大面积地转向互联网经营&#xff0c;用电子商务来服务客户&#xff0c;它们面临的第一个问题就是建站。针对这一…

c中将数组传递给子函数_在C ++中将对象传递给Non-Member函数

c中将数组传递给子函数Here, we have to define a Non-Member Function, in which we have to pass an Object to the class in C programming language. 在这里&#xff0c;我们必须定义一个非成员函数&#xff0c;其中必须将一个Object传递给C 编程语言的类。 What we are d…

大数问题(C++、Java)

有时候&#xff0c;当我们做题的时候会遇到很简答的代码题&#xff0c;例如AB&#xff0c;但是题是有前提的&#xff0c;就是两个数特别的大。妈耶~~~ 大家都知道&#xff0c;定义一个变量&#xff0c;系统会自动为该变量分配空间&#xff0c;例如&#xff1a;int类型在c中&am…

cobalt strick 4.0 系列教程(4)---监听器和基础设施管理

0x01 概述 任何行动的第一步都是建立基础设施。就 Cobalt Strike 而言&#xff0c;基础设施由一个或多个团队服务器、重定向器以及指向你的团队服务器和重定向器的 DNS 记录组成。一旦团队服务器启动并运行&#xff0c;你将需要连接到它并将其配置为接收来自受害系统的连接。监…

【竞赛题解】Codeforces Round #710 (Div. 3)

B. Partial Replacement 题意&#xff1a;有字符串由.和*组成&#xff0c;可标记其中*&#xff0c;首尾的*必须被标记&#xff0c;使被标记的*之间距离不超过k&#xff0c;求最少的标记量 思路&#xff1a;首先从首尾出发确定首尾*的位置&#xff0c;再由首beg出发向后的k个元…

Oracle数据库存储过程 ,去除给定字符串中重复的字符串

以下函数是本人在编写Oracle数据库存储过程时写的函数,觉得该函数通用性较强,因此发表出来供需要的人参考.这个函数的功能主要是用于去除给定字符串中重复的字符串.在使用中需要指定字符串的分隔符.示例:str : MyReplace(13,14,13,444, ,);输出:13,14,444create or replace fun…