美文网首页程序员
面向对象基础(1)

面向对象基础(1)

作者: 小虾米的成长之路 | 来源:发表于2018-02-02 21:38 被阅读28次

对象是什么?

以下都是自己的读书有感,源代码是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());

}

}

相关文章

  • JavaScript之 new 命令

    JavaScript 面向对象编程的基础知识篇 1 。 1. 概述 面向对象编程(Object Oriented ...

  • 面向对象基础(1)

    对象是什么? 以下都是自己的读书有感,源代码是C#,自己配上java代码吧,希望大家多多批评指正: 万物皆对象,可...

  • 第七章 面向对象技术(1)

    7.1 面向对象基础 —— 基本概念1.Unified Modeling Language - UML,是面向对象...

  • 阿里P8资深架构师耗时一年整理19年Java工程师成神之路

    1、基础篇 01:面向对象 → 什么是面向对象 面向对象、面向过程 面向对象的三大基本特征和五大基本原则 → 平台...

  • Java 工程师成神之路 | 2019正式版

    1 基础篇 01面向对象 → 什么是面向对象面向对象、面向过程 面向对象的三大基本特征和五大基本原则 → 平台无关...

  • 博学谷第十一天

    时间:2020年1月6日内容:面向对象基础、烤地瓜案例、搬家具 面向对象基础 定义 面向对象是将编程当成是一个事物...

  • iOS面试题及答案(一)

    @@@ 饭前小菜 @@@ 1. 面向过程与面向对象的本质区别 2. 面向对象的弊端 一:@@@《基础篇》@@@ 二...

  • java SE目录

    java SE目录 java基础(一)java基础(二)关键字面向对象(一)面向对象(二)面向对象(三)集合(一)...

  • Java面试题基础知识篇

    1Java 基础知识面向对象→ 什么是面向对象面向对象、面向过程 略面向对象的三大基本特征和五大基本原则答java...

  • Java基础03面向对象

    Java 基础02Java编程基础 面向对象上 面向对象的概述 面向对象的概述:面向对象是一种符号人类思维习惯的编...

网友评论

    本文标题:面向对象基础(1)

    本文链接:https://www.haomeiwen.com/subject/dylezxtx.html