JAVA知识回顾:面向对象

1.对象的概念:对象是用来描述客观事物的一个实体,由一组属性和方法构成。

2.类的概念:类是具有相同属性和方法的一组对象的集合


3.属性的概念:对象具有的各种特征。


4.方法的个概念:对象执行的操作。


5.形参:定义方法的时候,括号里面的叫形参;实参:调用方法的时候,传递的参数叫实参。

6.每个对象独立拥有的东西,在JAVA中称为:对象成员;    所有对象公有的东西称为:类成员。

7. static:在JAVA中被static修饰的成员就是类成员,它属于整个类,而不是是属于某个对象。;   final:在final修饰变量时,该变量一但获得初始值就不会改变


6.方法的重载(附代码):

package com.lenvov.www;

public class ChongZai {
    public void wenzhang() {                     //1
    	    	
    }
     public void wenzhang(String  i,String j) {  //2
    }
     public void wenzhang(String a, int n) {     //3
    }
     public String wenzhang(String c) {          //4
    	 return  "";
    }
     
}

有一个类的两个方法拥有相同的名字,但是有不同的参数列表,该方法叫做方法的重载,这个过程叫做方法重载

上面代码所示:里面的每行注释都相互为重载。比如//1和//2,他们有着相同的名字,但是参数的列表不一样。


构造方法 (构造方法没有返回值):是一种特殊的方法,其主要功能是用来创建对象时初始化对象,即为对象成员变量赋初始值。

构造方法与类名相同,可重载多个不同的构造方法。




7.eclipse常用的快捷键有哪些:

①.导包的快捷键是 ctrl+shift+o;

②.文件代码全部保存的快捷键是 ctrl+shift+s;

③.快速注释的快捷键是选中需要注释的按 ctrl+/ ;

④.代码格式化快捷键是 ctrl+shift+f(注意:有时候会被输入法占用快捷键)


8.其他一些

①.编写一个电子书的类

package com.lenvov.www;
/**
 * 电子书类
 * @author lenovo
 *
 */
public class DIanzisShu {
    //电子书属性
	String name;
	int yeshu;
	int zishu;
	double neicun;
	 
	//电子书方法
	public void xiugai() {
	}
	public void	xiedai() {
	}
package com.lenvov.www;

import java.util.Scanner;

/**
 * 小明唱歌类(方法类)
 * 键盘输出
 * @author lenovo
 *
 */


public class XiaoMing {
	public void  gedan(String geming) {
		System.out.println("小明唱出了"+geming);
	}
	public void caidan(String caiming1,String caiming2) {
		System.out.println("小明吃了"+caiming1+"还有"+caiming2);
	}
	
    public static void main(String[] args) {
    	  Scanner scan = new Scanner(System.in);
    	  //从键盘接受数据
    	  String geming = scan.nextLine();
    	  String caiming1 = scan.nextLine();
    	  String caiming2 = scan.nextLine();
    	  
		  XiaoMing xm = new XiaoMing();
		  xm.gedan(geming);
		  xm.caidan(caiming1,caiming2);
}
}

举一个构造方法的类:

package com.lenvov.www;

/**
 * 测试类
 * 
 * @author lenovo64
 *构造方法举例
 *
 */
public class Test {
	public static void main(String[] args) {

		Anima dog = new Anima("小黑", "小猫", "黑色");    //1
		Anima cat = new Anima("小白", "小狗", "白色");    //2
		String s = dog.play(cat, dog);                   //3
		System.out.println("获胜的动物是" + s);           //4
	}
}

class Anima {
	String name;
	String kind;
	int age;
	String color;
	long animalID;
	String date;

	public Anima(String name, String kind) {                //5
		this.name = name;
		this.kind = kind;
	}

	public Anima(String name, String color, String kind) {            //6
		this.name = name;
		this.color = color;
		this.kind = kind;
	}

	public Anima(String name, int age, long animalID) {              //7
		this.age = age;
		this.animalID = animalID;
	}

	public String play(Anima dog, Anima cat) {                       //8
		System.out.println("这只" + dog.color + "是" + dog.name + "," + dog.kind + ",正在和那只" + cat.color + "叫做" + cat.name
				+ "," + cat.kind + ",在打架");
		return cat.kind;
	}
}

解题思路(解的不详细勿怪):从//3开始,知道需要带入运行的是方法 play 也就是//8,好了,开始打印:这只dog.color,dog.color是Anima dog形参带入的,而形参和实参的顺序是反过来的,所以说//8是dog,但是//3却是cat,所以我们要看//2里面赋的值。dog.color,color是小狗;dog.name,name是小白;dong.kind,kind是白色;刚刚讲到他的实参和形参写反了,所以后面的cat需要看上面的dog。cat.color,color是小猫;cat.name,name是小黑;cat.kind,kind是黑色。

        所以:这一段全打出来是 这只小狗是小白,白色,正在和那只小猫叫做小黑,黑色,在打架。

下面还加了一个返回值return cat.kind,返回了黑色,所以打架的是黑色的小猫赢了。


猜你喜欢

转载自blog.csdn.net/qq_41175358/article/details/80251752
今日推荐