面向对象基础

 

 1 package com.unit5.pojo;
 2 
 3 public class Dog {
 4     //定义类的属性
 5     String name;
 6     String color;
 7     int age;
 8     
 9     //定义构造方法
10     public Dog(String name,String color,int age) {
11 //        this(); //手动调用默认无参构造方法
12         System.out.println("3个参数的构造方法被调用了!");
13         //构造方法的作用是为对象的属性赋值
14         this.name=name;
15         this.color=color;
16         this.age=age;
17     }
18     
19     public Dog(String a) {
20         System.out.println("1个参数的构造方法被调用了!");
21         this.name=a;
22     }
23     
24     public Dog() {
25         System.out.println("无参构造方法被调用了!");
26         // TODO Auto-generated constructor stub
27     }
28 
29     public void getSelf() {
30         System.out.println(this);
31     }
32     
33     //定义类的方法
34     public void eat() {
35         System.out.println("小狗正在吃饭");
36     }
37     
38     public void run() {
39         System.out.println("小狗正在快跑");
40     }
41     
42 
43     public static void main(String[] args) {
44         
45         Dog dog3=new Dog();
46         Dog dog4=new Dog("jack");
47         Dog dog2=new Dog("jack","white",5);
48 //        System.out.println(dog2);
49 //        dog2.getSelf();
50         
51         
52 //        System.out.println(dog2.name);
53 //        System.out.println(dog2.color);
54 //        System.out.println(dog2.age);
55         
56 //        //创建一个对象 :对象实例化
57 //        Dog dog1=new Dog();
58 //        
59 //        //给对象的属性赋值   对象名.属性名
60 //        dog1.name="joe";
61 //        dog1.color="black";
62 //        dog1.age=4;
63 //        
64 //        System.out.println(dog1.name);
65 //        System.out.println(dog1.color);
66 //        System.out.println(dog1.age);
67 //        
68 //        //调用方法    对象名.方法名()
69 //        dog1.eat();
70 //        dog1.run();
71 
72     }
73 
74 }

 

 1 package com.unit5.pojo;
 2 
 3 public class Addnum {
 4     //方法重载
 5     public int add(int a,int b) {
 6         int s=a+b;
 7         return s;
 8         
 9     }
10     
11     public int add(int a,int b,int c) {
12         int s=a+b+c;
13         return s;
14     }
15 
16     public int add(int a,int b,int c,int d) {
17         int s=a+b+c+d;
18         return s;
19     }
20     
21     public static void main(String[] args) {
22         Addnum ss=new Addnum();
23         System.out.println(ss.add(10, 20));
24         System.out.println(ss.add(10, 20,30));
25         System.out.println(ss.add(10, 20,30,40));
26 
27 
28     }
29 
30 }

 

 1 package com.unit5.pojo;
 2 
 3 public class Cat {
 4     //static关键字
 5     
 6     //定义类的属性
 7     String name;
 8     String color;
 9     int age;
10     
11     //静态属性
12     //静态属性一般有初始值
13     //可以使用类名、对象猫访问到
14     //如果在同一个类文件中,静态属性也可以直接访问
15     static String type="宠物";
16     
17     public Cat(String name,String color,int age) {
18         this.name=name;
19         this.color=color;
20         this.age=age;
21         
22     }
23     
24     public Cat() {
25         
26     }
27     
28     public void show() {
29         System.out.println(this.name+"---"+this.color);
30     }
31     
32     //静态方法可以被类名、对象名调用
33     //如果在同一个类文件中,静态方法也可以直接调用
34     public static void eat() {
35         System.out.println("猫在吃鱼!");
36     }
37     
38 
39     public static void main(String[] args) {
40         // TODO Auto-generated method stub
41         Cat cat1=new Cat("小苗","黄色",3);
42 //        Cat.show();
43         eat();
44         Cat.eat();
45         cat1.eat();
46         
47         System.out.println(Cat.type);
48         System.out.println(cat1.type);
49         System.out.println(type);
50 
51     }
52 
53 }

 

 1 package com.unit6.test;
 2 
 3 //import com.unit5.pojo.Cat;
 4 //import com.unit5.pojo.Dog;
 5 
 6 import com.unit5.pojo.*;
 7 
 8 public class Test1 {
 9 
10     public static void main(String[] args) {
11         // 引入包
12         
13         Cat cat1=new Cat();
14         Dog dog1=new Dog();
15 
16     }
17 
18 }

 

 1 package com.unit6.test;
 2 
 3 public class Test2 {
 4     /*
 5      * public:在当前项目中,所有地方都可以访问到这个方法
 6      * static:静态方法,可以使用类名调用,在文件内部也可以直接调用
 7      * main:固定的方法名
 8      * String[] args:接收一个字符串数组类型的参数
 9      * */
10 
11     public static void main(String[] args) {
12         
13         System.out.println("main方法被执行了!");
14         for(String x:args) {
15             System.out.println(x);
16         }
17 
18     }
19 
20 }

 

 1 package com.unit6.test;
 2 
 3 import com.unit5.pojo.Cat;
 4 
 5 public class Test3 {
 6 
 7     public static void main(String[] args) {
 8         // 对象数组
 9         
10         Cat cat1=new Cat("小苗","黄色",1);
11         Cat cat2=new Cat("小请","红色",2);
12         Cat cat3=new Cat("小好","绿色",3);
13         Cat cat4=new Cat("小例","蓝色",4);
14         
15         Cat[] arrayCat= {cat1,cat2,cat3,cat4};
16         
17 //        for(int i=0;i<arrayCat.length;i++) {
18 //            arrayCat[i].show();
19 //        }
20         
21         for(Cat x:arrayCat) {
22             x.show();
23         }
24 
25     }
26 
27 }

 

 1 package com.unit5.pojo;
 2 
 3 public class Emp {
 4     // 例:员工类
 5     String name;
 6     int empnum;
 7 
 8     public Emp(String name, int empnum) {
 9         super();
10         this.name = name;
11         this.empnum = empnum;
12     }
13     
14     public int getNum() {
15         return this.empnum;
16     }
17     
18     public void setNum(int num) {
19         this.empnum=num;
20     }
21 
22     public static void main(String[] args) {
23         Emp p=new Emp("张三",12);
24         System.out.println(p.getNum());
25         p.setNum(20);
26         System.out.println(p.getNum());
27 
28     }
29 
30 }

 

 1 package com.unit5.pojo;
 2 
 3 public class Card {
 4     //例:银行卡
 5     int cardnum;
 6     String pwd;
 7     double balance;
 8 
 9     public Card(int cardnum, String pwd, double balance) {
10         super();
11         this.cardnum = cardnum;
12         this.pwd = pwd;
13         this.balance = balance;
14     }
15     
16     public void cun(double money) {
17         if(money>0) {
18             this.balance+=money;
19             System.out.println("存入"+money+"元,余额:"+this.balance+"元");
20         }else {
21             System.out.println("金额输入错误!");
22         }
23     }
24     
25     public void qu(double money) {
26         if(money<=this.balance) {
27             this.balance-=money;
28             System.out.println("取出"+money+"元,余额:"+this.balance+"元");
29         }else {
30             System.out.println("金额输入错误!");
31         }
32     }
33     
34     public void setPawd(String oldpwd,String newpwd) {
35         if(oldpwd==this.pwd) {
36             if(newpwd.length()==6) {
37                 this.pwd=newpwd;
38                 System.out.println("恭喜你!密码修改成功!");
39             }else {
40                 System.out.println("新密码必须为6位!");
41             }
42         }else {
43             System.out.println("原密码输入错误!");
44         }
45     }
46 
47 
48     public static void main(String[] args) {
49         Card card=new Card(12,"123456",1000);
50         
51         card.cun(100);
52         card.qu(1000);
53         card.setPawd("123456", "654321");
54     }
55 
56 }

 

posted on 2020-06-16 20:31  cherry_ning  阅读(79)  评论(0)    收藏  举报

导航