您的位置:首页 > 其它

面向对象 参数传递 (方法 -- 构造方法--重载)

2017-03-01 16:03 316 查看
今天学习了面向对象的编程思想,首先 要来说一下 类的定义:

   1.若干具有相同属性和行为的群体或抽象

   2.类是创建对象的模板

   3.类由两部分组成:属性和行为

面向对象的编程思想: 

 对问题进行分析,定义对象模型(类),然后根据模型创造对象,使用对象解决问题

类的定义:

【修饰符】 class 类名{

//成员变量

【修饰符】 数据类型 变量名

//成员方法

【修饰符】 返回值类型 方法名(参数..){

  //方法体:用于完成某个功能的语句(解决某个问题的语句组)

}

//构造器

【修饰符】 构造器名(参数..){

 //方法体

 }

}

对象的使用:

1.声明一个类的类型的变量

类名 对象名;

2.创建一个对象

对象名=new 构造器名(参数);

3.给对象的属性赋值

对象名.属性=值

成员变量和局部变量的区别:

1.成员变量定义在类中 而局部变量定义在方法体中

2.成员变量的作用域在整个类中 而局部变量的作用域在所定义的方法体中

3.成员变量可以有修饰符 而 局部变量的修饰符只有final

4.成员变量有缺省值 局部变量没有缺省值

参数定义的语法 : 数据类型  参数名

参数的作用 :将一个数据传入到方法体里面使用

参数的作用域:该方法的方法体

重载:同一个类中方法名相同而参数不同的方法:1.参数个数不同 2.参数个数相同 但是至少有一个对应的参数的数据类型不同

构造器的执行过程:

1.根据类 创建一个对象

2.给构造器的参数传参

3.执行构造器的方法体:属性初始化

4.返回该对象

以下为测试时用的狗对象:

package _3m1day;

public class Dog {
public Dog(){

}
public String name;
public char sex;
public String color;
public String breed;

public void bark() {
System.out.println("狗叫");
}

public void eatBone() {
System.out.println("吃骨头");
}

public void wagTail() {
System.out.println("摇尾巴");

}

public static void main(String[] args) {
Dog dog = new Dog();
dog.name = "萝莉";
dog.sex = '公';
dog.breed = "土狗";
dog.color = "土黄色";
dog.bark();
dog.eatBone();
dog.wagTail();
}

}

以下的类 使用了方法的重载 构造器 和参数的传参

package _3m1day;

public class SumPar {
private void test1() {
// TODO Auto-generated method stub

          System.out.println("fgjkfdfj");
}
private void test2(int i) {
// TODO Auto-generated method stub

       System.out.println(i);
}
private void test3(int i,String s) {
// TODO Auto-generated method stub

       System.out.println(i+s);
}

private void test4(String[] ss) {
// TODO Auto-generated method stub
for (int i = 0; i < ss.length; i++) {
System.out.println(ss[i]);
}

}
private void test5(Dog dog) {
// TODO Auto-generated method stub

         System.out.println(dog.name+" "+dog.sex+" "+dog.color+" "+dog.breed);

         dog.bark();

          dog.eatBone();

          dog.wagTail();
}

     private void test6(Dog[] dog) {
// TODO Auto-generated method stub

    for (int i = 0; i < dog.length; i++) {
Dog d=dog[i];
System.out.println(d.name+" "+d.sex+" "+d.color+" "+d.breed);
d.bark();
d.eatBone();
d.wagTail();
}

}
public static void main(String[] args) {
SumPar s = new SumPar();
s.test1();
s.test2(245);
s.test3(12, "dfgfdsdfdsa");
s.test4(new String[]{"ssdsd","sdddf","ertrewrtr"});
Dog dog = new Dog();
dog.name="jmy";
dog.breed="哈士奇";
dog.color="yellow";
dog.sex='公';

s.test5(dog);

Dog dog1 = new Dog();
dog1.name="jmy1";

dog1.breed="哈士奇1";
dog1.color="yellow1";
dog1.sex='公';
Dog dog2 = new Dog();
dog2.name="jmy1";
dog2.breed="哈士奇1";
dog2.color="yellow1";
dog2.sex='公';
Dog[] dogs ={dog1,dog2,dog};

s.test6(dogs);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐