当幸福莱敲门

导航

 

JAVA类

JAVA中类名的首字线大写

一个完整的类如下:

package 包名:

class 类名 extends 父类 implements 接口名{

  成员变量:

  构造方法:

  成员方法:

 

成员方法的定义

public 返回数据类型 方法名 (参数列表){

  语句;//方法(函数)主体

 

 1 public class day02 {
 2     public static void main(String []args) {
 3         //创建了一个Mymath的对象
 4         Mymath mymath1=new Mymath();
 5         //调用mymath类里面的speack方法
 6         mymath1.speack();
 7         //调用可以传入参数的计算方法
 8         mymath1.jiSuan(10);
 9         //调用计算两个数和的方法
10         mymath1.add(10, 10);
11     }
12 }
13 
14 
15 class Mymath{
16     //以下我们称之为成员变量或者叫成员属性
17     int age;
18     String nameString;
19     String colorString;
20     //没有返回数就用void,请注意:方法名的首字母是小写的
21     //以下就是成员方法 
22     public void speack() {
23         System.out.println("我是一个好人");
24     }
25     //带参数的成员方法
26     public void jiSuan(int n) {
27         int a=0;
28         for (int i = 0; i <=n; i++) {
29             a=a+i;
30         }
31         System.out.println("从0加到"+n+"结果是:"+a);
32     }
33     //计算两个数的和的方法
34     public void add(int num1,int num2) {
35         int rue=0;
36         rue=num1+num2;
37         System.out.println(num1+"+"+num2+"="+rue);
38     }
39 }

 类的成员方法,构造方法,成员变量

 1 public class day02 {
 2     public static void main(String []args) {
 3         //创建一个computer的对象
 4         Computer c1=new Computer();
 5         //创建了一个Mymath的对象
 6         Mymath mymath1=new Mymath(c1,23,"测试","红色");
 7         //调用mymath类里面的speack方法
 8         mymath1.speack();
 9         //调用可以传入参数的计算方法
10         mymath1.jiSuan(10);
11         //调用计算两个数和的方法
12         mymath1.add(10, 10);
13         //调用有返回类型的方法
14         //在调用某个成员方法的时候,给出的具体数值的个数和类型要相匹配
15         System.out.println("P1="+mymath1.add2(30, 3.1f));
16         //构造函数的调用方法
17         System.out.println(mymath1.teall);
18         
19         mymath1.computer.off();
20     }
21 }
22 
23 
24 class Mymath{
25     //以下我们称之为成员变量或者叫成员属性
26     int age;
27     String nameString;
28     String colorString;
29     Computer computer;
30     static int teall=0;
31     //以下是构造方法
32         public Mymath(Computer computer,int age,String nameString,String colorString) {
33             this.age=age;
34             this.nameString=nameString;
35             this.colorString=colorString;
36             this.computer=computer;
37         }
38     //没有返回数就用void,请注意:方法名的首字母是小写的
39     //以下是成员方法 
40     public void speack() {
41         System.out.println("我是一个好人");
42     }
43     //带参数的成员方法
44     public void jiSuan(int n) {
45         //int a=0;
46         for (int i = 0; i <=n; i++) {
47             teall=teall+i;
48         }
49         System.out.println("从0加到"+n+"结果是:"+teall);
50     }
51     //计算两个数的和的成员方法
52     public void add(int num1,int num2) {
53         int rue=0;
54         rue=num1+num2;
55         System.out.println(num1+"+"+num2+"="+rue);
56     }
57     //计算两个数的和,并且反结果返回给调用它的函数
58     //带返回的值,返回的是什么类型的值就写什么类型的值
59     public float add2(int num1,float num2) {
60         return num1+num2;
61     }
62 }
63 class Computer{
64     int money;
65     String nameString;
66     String pipaiString;
67     String typeString;
68     
69     public void off(){
70         System.out.println("打开");
71     }
72 }

 类的多态,继承

  1 public class day05 {
  2     public static void main(String []args) {
  3         /*Ccat ccat=new Ccat();
  4         ccat.cry();
  5         Ddog ddog=new Ddog();
  6         ddog.cry();*/
  7         //多态
  8         /*Animal animal=new Ccat();
  9         animal.cry();
 10         animal=new  Ddog();
 11         animal.cry()/*/
 12         Master master=new Master();
 13         master.feed(new Dog(), new Bone(),new Wanj());
 14         master.feed(new Ccat(), new Fish(),new Wanj());
 15     }
 16 }
 17 //定义一个人类
 18 class Master
 19 {
 20     public void feed(Animal an,Food fn,Wanj wn) {
 21         an.cry();
 22         fn.showName();
 23         wn.showNnme();
 24     }
 25 }
 26 //定义一个玩具类
 27 class Wanj
 28 {
 29     String nameString;
 30     public void showNnme() {
 31         System.out.println("我不知道是什么玩具");
 32         
 33     }
 34 }
 35 //定义一个食物父类
 36 class Food
 37 {
 38     String nameString;
 39     public void showName() {
 40         System.out.println("我不知道是什么食物");
 41     }
 42 }
 43 //这是食物鱼
 44 class Fish extends Food{
 45     public void showName() {
 46         System.out.println("这是吃的鱼");
 47     }
 48 }
 49 //这是食物骨头
 50 class Bone extends Food {
 51     public void showName() {
 52         System.out.println("这是吃的骨头");
 53     }
 54 }
 55 //动物类 
 56 class Aanimal
 57 {
 58     private String nameString;
 59     private int age;
 60     public String getNameString() {
 61         return nameString;
 62     }
 63     public void setNameString(String nameString) {
 64         this.nameString = nameString;
 65     }
 66     public int getAge() {
 67         return age;
 68     }
 69     public void setAge(int age) {
 70         this.age = age;
 71     }
 72     //动物叫
 73     public void cry() {
 74         System.out.println("不知道怎么叫");
 75         
 76     }
 77     public void eat() {
 78         System.out.println("不知道吃什么");
 79     }
 80 }
 81 //继承了父类并重写或者叫覆盖了成员方法
 82 class Ccat extends Animal
 83 {
 84     public void cry() {
 85         System.out.println("猫猫叫");
 86     }
 87     public void eat() {
 88         System.out.println("猫爱吃鱼");
 89     }
 90 }
 91 
 92 class Ddog extends Animal
 93 {
 94     public void cry() {
 95         System.out.println("狗狗叫");
 96     }
 97     public void eat() {
 98         System.out.println("狗受吃骨头");
 99     }
100 }

 抽象类

 1 public class day06 {
 2     public static void main(String []args) {
 3         Doog dog=new Doog();
 4         dog.cry();
 5     }
 6 }
 7 //当你不知道父类的方法不知道怎么写的时候就用抽象类
 8 //在类的前面加上关键字,abstract  
 9 //初始化构造方法,必须加上成员参数
10 //成员方法加上括号,里面可以放参数,做为接口来用
11 //下面就是抽象类的写法
12 abstract class Naimal
13 {
14     String nameString;
15     int age;
16     //这是抽象类方法
17     abstract public void cry();
18 }
19 //当一个类继承的父类是抽象类,必须把抽象类中的所有抽象方法全部实现
20 //以下继承了抽象类Naimal所以必须实现抽象类中的所有方法
21 class Doog extends Naimal{
22     //以下实例化了Naimal类中的抽象方法cry
23     public void cry() {
24         System.out.println("我不知道怎么叫");
25     }
26 }

接口

 1 /**
 2  * 类里面: 接口的申明,接口的方法
 3  */
 4 package com.test1;
 5 
 6 public class day07 {
 7     public static void main(String []args) {
 8         //定义一台电脑
 9         Computer computer=new Computer();
10         //定义一台相机
11         Camera camera=new Camera();
12         //定义一部手机
13         Phone phone =new Phone();
14         //把USB端口给手机和相机用
15         computer.useUSB(phone);
16         computer.useUSB(camera);
17         
18     }
19 }
20 //定义一个USB接口,接口名首字母大写
21 //interface是定义接口的意思
22 //一个接口不能继承其它类,但是可以继承其它接口
23 interface Usb{
24     //申明两个方法
25     //接口中的变量初始货必须给值
26     int a=1;
27     public void start();
28     public void stop();
29 }
30 //定义一个相机类,并实现Usb接口
31 //一个重要原则:当一个类实现了一个接口,就要把这个类的所有方法全部实现
32 //implements 是实现接口的意思
33 class Camera implements Usb{
34     //实现Usb中start方法
35     public void start() {
36         System.out.println("我是相机,开始工作");
37     }
38     //实现USB中stop方法
39     public void stop() {
40         System.out.println("我是相机,停止工作");
41     }
42 }
43 //编写一个手机类并且继承Usb接口,并把USB里面的方法全部实现
44 class Phone implements Usb{
45     //实现USB中start方法
46     public void start() {
47         System.out.println("我是手机,我开始工作了");
48     }
49     //实现USB中stop方法
50     public void stop() {
51         System.out.println("我是手机,我停止工作了");
52     }
53 }
54 //定义一个电脑类并开始使用
55 //定义类名时首字母大写
56 class Computer{
57     public void useUSB(Usb usb) {
58         usb.start();
59         usb.stop();
60     }
61 }

把端口应用到类中,通过implements实现

 1 /**
 2  * 继承中端口的应用
 3  */
 4 package com.test1;
 5 
 6 
 7 public class day08 {
 8     public static void main(String []args) {
 9         Xmonkey xmonkey=new Xmonkey();
10         xmonkey.Fly();
11         xmonkey.Dly(15, 10);
12     }
13 }
14 //定义了一个猴子类
15 class Monkey{
16     String namString;
17     //
18     public void jump() {
19         System.out.println("猴子会跳");
20     }
21 }
22 
23 
24 //一中小猴子继承老猴子的功能 用implements继承了鸟和鱼的方法,并实现功能
25 class Xmonkey extends Monkey implements Ber,Feny{
26 
27     //实现了鸟的功能
28     @Override
29     public void Fly() {
30         // TODO Auto-generated method stub
31         System.out.println("我会飞");
32     }
33     //实现在鱼的功能并会计算
34     @Override
35     public void Dly(int a,int b) {
36         // TODO Auto-generated method stub
37         System.out.println("我会跳水");
38     
39         System.out.println(a+b);
40         
41     }
42     
43 }
44 
45 //定义一只鸟的端口,并且这只鸟有一会飞的FLY方法
46 interface Ber{
47     public void Fly();
48 }
49 //定义一只鱼的端口,并且这只鱼有一个会游Dly的方法
50 interface Feny{
51     public void Dly(int a,int b);
52 }

 final修饰的用法,能让成员方法不被覆盖,成员变量不被改变,类不能被继承

 1 /**
 2  * 继承中端口的应用
 3  */
 4 package com.test1;
 5 
 6 
 7 public class day08 {
 8     public static void main(String []args) {
 9         Xmonkey xmonkey=new Xmonkey();
10         xmonkey.Fly();
11         xmonkey.Dly(15, 10);
12         xmonkey.jump();
13         Kan kan=new Kan();
14         kan.don();
15     }
16 }
17 //定义了一个猴子类
18 class Monkey{
19     String namString;
20     //
21     public void jump() {
22         System.out.println("猴子会跳");
23     }
24 }
25 
26 
27 //一中小猴子继承老猴子的功能 用implements继承了鸟和鱼的方法,并实现功能
28 class Xmonkey extends Monkey implements Ber,Feny{
29 
30     //实现了鸟的功能
31     @Override
32     public void Fly() {
33         // TODO Auto-generated method stub
34         System.out.println("我会飞");
35     }
36     //实现在鱼的功能并会计算
37     @Override
38     public void Dly(int a,int b) {
39         // TODO Auto-generated method stub
40         System.out.println("我会跳水");
41     
42         System.out.println(a+b);
43         
44     }
45     
46 }
47 //定义一个Pan,并把 方法用final修饰一下,final可以让变量和成员方法不能被修改和覆盖
48 class Pan
49 {
50      final int a=0;
51     final public void jon() {
52         System.out.println("我会发送信息");
53     }
54 }
55 //新建一个类,继承pan类,查看fianl修饰过的方法能改变吗,被FINAL修饰过的类也不能被继承
56 class Kan extends Pan
57 {
58     
59     public void don()
60     {
61         //a++; //这个地方我们已经看出报错,说明FINAL修饰起作用了
62         System.out.println("a的值是:"+a);
63     }
64     /*public void jon() //这个地方法继承PAN类后重写JON方法就报错了,说明final修饰起作用了
65     {
66         System.out.println("看方法能不能被重写");
67     }*/
68 }
69 
70 //定义一只鸟的端口,并且这只鸟有一会飞的FLY方法
71 interface Ber{
72     public void Fly();
73 }
74 //定义一只鱼的端口,并且这只鱼有一个会游Dly的方法
75 interface Feny{
76     public void Dly(int a,int b);
77 }

 

posted on 2020-08-09 17:12  当幸福莱敲门  阅读(229)  评论(0)    收藏  举报