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,返回了黑色,所以打架的是黑色的小猫赢了。