当前位置: 首页 > news >正文

网站后台管理系统制作软件沈阳红方城网站建设

网站后台管理系统制作软件,沈阳红方城网站建设,东莞网站建设网络公司公司,辽宁建设工程信息网变更匿名类对象 创建的类的对象是匿名的。当我们只需要一次调用类的对象时#xff0c;我们就可以考虑使用匿名的方式创建类的对象。特点是创建的匿名类的对象只能够调用一次#xff01; package day007;//圆的面积 class circle {double radius;public double getArea() {// TODO…  匿名类对象   创建的类的对象是匿名的。当我们只需要一次调用类的对象时我们就可以考虑使用匿名的方式创建类的对象。特点是创建的匿名类的对象只能够调用一次 package day007;//圆的面积 class circle {double radius;public double getArea() {// TODO Auto-generated method stubreturn Math.PI * radius * radius;}public void setRadius(double r){radius r;}public double getRadius(){return radius;}public void show(){System.out.println(我是一个圆);}}public class lambda{public void printArea(circle c, int time){System.out.println(radius\tarea);for(int i 1;i time;i){c.setRadius(i);System.out.println(c.getRadius() \t c.getArea());}}public static void main(String[] args){lambda p new lambda();circle c new circle();//新的圆半径为0p.printArea(c, 5);new circle().show();//这个对象就是匿名对象只使用一次后就无法再次调用} } 对象作为参数传递   在上面这个例子里我们使用new circle()直接调用circle的方法。这个对象就是匿名类对象这个对象产生时在内存堆中开辟内存存储了数据但是在栈中并没有相应的变量名指向这块内存地址那么我们无法再第二次调用这个匿名类即我们不可以使用此类再次调用circle类的属性与方法。   在java虚拟机中这个匿名类对象很快就被垃圾回收机制收走了切记当我们某个类对象只需要使用一次的情况我们才会考虑使用匿名类对象。   可变个数的行参的方法   格式对于方法的形参 数据类型 ... 形参名;   可变个数的形参的方法与同名的方法之间构成重载;   可变个数的形参在调用时个数从0开始到无穷多个都可以。   使用可变多个形参的方法与方法的形参使用数组是一致的。   若方法中存在可变个数的形参那么一定要声明在方法形参的最后。   在一个方法中最多声明一个可变个数的形参。 package day007;public class javaArgs {public static void main(String[] args) {// TODO Auto-generated method stubjavaArgs jargs new javaArgs();jargs.getSum(1,2,3,4);new javaArgs().getSum(123,223);jargs.getSum(求和是, 2,3,5,8);} // public int getSum(int ... args){public void getSum(int ... args){int sum 0;//args使用与数组一致for(int i 0; iargs.length;i){sum args[i];}System.out.println(sum); // return sum;}//重载可变个数的形参声明在方法形参的最后public void getSum(String s,int ... args){int sum 0;for(int i 0; iargs.length;i){sum args[i];}System.out.println(s : sum);} } java的*args的使用    java中形参与实参   形参方法声明时方法小括号内的参数实参调用方法时实际传入的参数的值。   我们之前做的两个值转换 package day007;public class TestArgsTransfer {public static void main(String[] args) {// TODO Auto-generated method stub//两个值转换int i 10;int j 5;System.out.println(i: i j: j);int temp i;i j;j temp;System.out.println(i: i j: j);}} 两个值交换   然后你可能会想用一个类封装一个方法完成交换。然后你写了这样一个方法。 package day007;public class TestArgsTransfer {public static void main(String[] args) {// TODO Auto-generated method stub//两个值转换int i 10;int j 5;//封装到类方法TestArgsTransfer tt new TestArgsTransfer();System.out.println(i: i j: j);tt.swap(i, j);//将i的值传递给mj的值传递给nSystem.out.println(i: i j: j);}//定义一个方法交换两个变量的值public void swap(int m,int n){int temp m;m n;n temp;System.out.println(m: m n: n);}} 你写的封装方法   结果是你的i和j根本就没有变为什么呢   简单来说就是i与j是你定义的类属性你将ij作为实参传到了类方法里面类方法swap里的两个变量发生了位置转换但是main中的两个值并没有发生任何变化在内存中的表现如上图调用swap方法时会在栈中存两个swap的局部变量这两个变量的值交换了但是main的变量未发生改变。   那我们要如何做呢。 package day007;public class TestArgsTransfer1 {public static void main(String[] args) {// TODO Auto-generated method stubTestArgsTransfer1 tt new TestArgsTransfer1();DataSwap ds new DataSwap();System.out.println(ds.i: ds.i ds.j: ds.j);tt.swap(ds);System.out.println(ds);System.out.println(ds.i: ds.i ds.j: ds.j);}//交换元素的值public void swap(DataSwap d){int temp d.i;d.i d.j;d.j temp;System.out.println(d);//打印引用变量d的值} }class DataSwap{int i 10;int j 5; } 形参是引用数据类型   这里swap方法传入的是一个引用数据类型ds相当于d与ds一致都指向同一个堆空间那么在swap中完成两个值的交换。   练习一下下面代码的执行结果是什么 class Value {int i 15; }class TestValue {public static void main(String argv[]) {TestValue t new TestValue();t.first();}public void first() {int i 5;Value v new Value();v.i 25;second(v, i);System.out.println(v.i);}public void second(Value v, int i) {i 0;v.i 20;Value val new Value();v val;System.out.println(v.i i);} }   分析   第一步定义了TestValue类在类的main函数中生成一个实例t并在堆中开辟内存0x0001在栈中定义t指向堆中内存0x0001。实例调用实例的first方法。   第二步在栈中有局部变量i值为5,一个新的变量v指向堆中新开辟内存0x0011v的局部变量i值为25,将v与当前局部变量i5作为实参传给second方法。   第三步局部变量i的值改为0,v的局部变量i变为20,定义一个新变量val指向堆中先开辟内存0x0111second中实参v指向内存0x0111   第四步此时打印v.i值为内存0x0111中的i值为15,i为局部空间中的变量i为0,first打印的v.i值为20实参传入firstv本身未发生指向的改变。   面向对象封装   我们考虑不让对象来直接作用属性而是通过对象.方法的形式来控制对象对属性的访问。实际情况中对属性的要求就可以通过方法来体现。   两种方法①将类的属性私有化②提供公共的方法setter getter来实现调用。 package day007;public class java_private {public static void main(String[] args) {// TODO Auto-generated method stubAnimal an new Animal(); // an.legs 4;//飘红an.setLegs(4);an.getLegs();}}class Animal{private String name;private int legs;public void setLegs(int l){legs l;}public int getLegs(){System.out.println(legs);return legs;} } 私有封装   权限修饰符    构造器   也就是构造方法但是与python的__init__有相似之处但是不完全一致。   构造器的作用①创建对象 ②给创建的对象的属性赋值创建对象的话相当于python中的__new__与__init__的作用。   1.设计类时若不显式声明类的构造器的话程序会默认提供一个空参的构造器   默认加()就相当于调用了构造器了类比python加()后实例化即调用了构造方法。   2.一旦显式的定义类的构造器那么默认的构造器就不再提供。   3.如何声明类的构造器。格式权限修饰符  类名(形参){ }。    4.类的多个构造器之间构成重载。   类对象的属性赋值的先后顺序①属性的默认初始化 ②属性的显式初始化③通过构造器给属性初始化 ④通过对象.方法的方式给属性赋值。 package day007;public class init {public static void main(String[] args) {Person p1 new Person();System.out.println(p1.getName() : p1.getAge());String str new String(hello);System.out.println(str);Person p2 new Person(jeff);System.out.println(p2.getName());System.out.println(p2.getAge());Person p3 new Person(frank,23);System.out.println(name: p3.getName() age: p3.getAge());//体会属性赋值的过程Person p4 new Person();System.out.println(name: p4.getName() age: p4.getAge());Person p5 new Person(12);System.out.println(name: p5.getName() age: p5.getAge());} }class Person{//属性private String name;private int age 1;//构造器public Person(String n){name n;}public Person(){ // age 10; // name 张三;}public Person(int a){age a;}public Person(String n,int a){name n;age a;}//方法public void setName(String n){name n;}public void setAge(int a){age a;}public String getName(){return name;}public int getAge(){return age;} } 构造器      转载于:https://www.cnblogs.com/Jeffding/p/8681442.html
http://www.yutouwan.com/news/467238/

相关文章:

  • 无锡网站网页设计各家建站平台
  • 怎么建设阿里巴巴国际网站建设部网站材料价格上涨规定
  • 网站备案的幕布是什么意思做网站可以把文字做成图片吗
  • 广州网站建设公司推荐wordpress 投稿 标签
  • 青岛网站建设大全wordpress图片异步延迟加载js
  • 南宁哪里有做网站的公司网站开发价格预算
  • 网站建设之家1m的带宽做网站可以吗
  • 设计网站需提供什么asp网站数据库位置
  • 网站建设可以在家做吗东莞seo推广优化排名
  • 企业官网建站流程wordpress最新版核心
  • 网站域名空间5个G的多少钱网站开发得多少钱
  • 用什么软件写网站太原市一页网络科技有限公司
  • 五 网站开发总体进度安排职业技能培训学校
  • wordpress下载站批量宝山做网站公司
  • 南宁网站seo推广公司制作微信商城网站开发
  • 浪网站制作手写代码网站
  • 福建省住房城乡和城乡建设厅网站连接品硕网线做怎么弹网站
  • 网站开发人员的要求聂教练做0网站
  • 大型门户网站建设美丽雅布设计作品
  • 江苏省建设局网站证件查询小程序免费制作平台360
  • 网页设计作品论文seo网站运营
  • 有关网站开发的文献大连网站怎么推广
  • 建立网站编程福州建站模板搭建
  • 网站建设深圳官网孝感网站建设公司
  • 商务网站建设工程师公司简介模板范本
  • 网站排名如何做福州做网站销售公司
  • 浙江省人才网官方网站建设厅招聘遵义市 网站建设
  • 公司网站建设需求分析网站建设服务条款
  • 烟台网站建设多少钱wordpress字体插件
  • 室内装修网站html源码 企业网站建设整体设计流程