面向对象基础(1)

对象是什么?

以下都是自己的读书有感,源代码是C#,自己配上java代码吧,希望大家多多批评指正:

万物皆对象,可以看到、摸到、听到、闻到的实体。具有事物的特性标识。

现在要写个java代码可以在控制台打印出猫叫(“喵”)



    package demo;

    public class CatShout {

    public static void main(String[] args) {

    System.out.println("喵");

    }

    }

如果要打印好几遍猫叫,可以写好几遍

System.out.println("喵");

但是是重复了,所以要想个别的办法,也就是要写个函数:

    public class CatShout  {

    public static void main(String[] args) {

    System.out.println(Shout());

    }

    public static String Shout(){

    return "喵";

    }

    }

此出方法也用static修饰的原因是main 方法也用static修饰了。

但是上面的代码有问题,Shout()加了public就是公共的,其他地方也都都可以访问,就好像公共物品放在某人的家里,别人用的时候就去他家,这样明显不合理,所以公共物品要放在公共场合。这也就是类的诞生。


类是什么?

类是具有相同的属性和功能的对象的集合。

举个栗子:某猫的名字叫小黑。小黑就是一个对象。猫就是个类。

所以要写个类:

    public class Cat {

    public String Shout(){

    return "喵";

    }

    }

然后创建一个对象进行使用:

    public class CatShout  {

    public static void main(String[] args) {

    Cat cat = new Cat();

    System.out.println(cat.Shout());

    }

    }



注意Cat cat = new Cat();做了两件事:(1)声明了一个Cat的对象起名为cat(2)将cat实例化

就相当于一只猫生了一只小猫。



构造方法

构造方法又叫构造函数同时还是构造器,其实就是对类进行初始化。并且与类同名,无返回值,也不需要void,在new的时候调用。

也许在咱们楼上用到new的时候咱们没有写构造方法,很奇怪,原因是:所有的类都有构造方法,如果不写,则系统会默认生成一个空的构造方法,如果你写了那默认的就失效了。

比如说楼上有小猫了,我们要给小猫起名字。那么就应该用到带参数的构造方法了。

    public class Cat {

    private String name ="";

    public Cat(String name) {

    this.name = name; }

    public String Shout(){

    return "我是"+name+"喵";

    }

    }

    public class CatShout {

    public static void main(String[] args) {

    Cat cat = new Cat("咪咪");

    System.out.println(cat.Shout());

    }

    }





方法重载

如果提前没有准备小猫的名字就不能创建了吗?答案是否定的,这就用到了方法的重载。方法的重载就是与方法名相同,参数的类型,个数不一样。

    public class Cat {

    private String name ="";

    public Cat(String name) {

    this.name = name;

    }

    public Cat() {

    this.name= "没想好";

    }

    public String Shout(){

    return "我是"+name+"喵";

    }

    }

  public class CatShout {

    public static void main(String[] args) {

    Cat cat = new Cat("咪咪");

    Cat cat1 = new Cat();

    System.out.println(cat.Shout());

    System.out.println(cat1.Shout());

    }

    }

 
 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值