Java8

Java面向对象

Java语言的最大特点在于面向对象的编程设计,并且面向对象的编程设计也在由于Java自身的发展而不断的在发展,同时,当初很多不支持面向对象的编程也开始转向了面向对象,但依然有很多的开发者认为面向过程会比较好,或者说使用函数式编程比较好。

最早并且一直到现在都流行的编程语言C、C++、Java。其中C语言已经变为了面向过程开发的代表,而像C++或者是Java都是面向对象的编程语言。

所谓的面向过程指的是面对于一个问题的解决方案。更多的情况下是不会做出重用的设计思考的,而面向对象的主要设计形式为模块化设计,并且可以进行重用配置。在整个面向对象的设计里面更多情况下考虑的是标准,在使用的时候根据标准进行拼装。

而对于面向对象有三个主要特征:

  • 封装性:内部的操作对外部而言不可见,当内部的操作都不可直接使用的时候才是安全的。
  • 继承性:在已有结构的基础上继续进行功能的扩充
  • 多态性:是在继承性的基础上扩充而来的概念,指的是类型的转换处理

在进行面向对象的程序的开发之中一般还有三个步骤:

  • OOA:面向对象分析
  • OOD:面向对象设计
  • OOP:面向对象编程

类与对象

面向对象是一个庞大的话题,但是任何庞大的话题都有其核心的组成:类与对象
类是对某一类事物的共性的抽象概念,而对象描述的是一个具体的产物。
例如:现在我和某一位先生进行比较的时候,可以立刻区分出我和别人。我和其他的人都一样,都是一个个具体可以使用的个体产物。但是这些个体都有一些共性的标志,我们都是中国人,但是还是有一些不同的,所谓的人和人之间的不同,依靠的是我们各自的属性,每一个属性的集合就构成了一个对象,但是所有的属性都应该是群体的定义,而群体的定义就形成了一个类。

类是一个模版,对象才是类的使用的实例,先有类,才会有对象。
在类之中一般都有两个组成:

  • 成员属性(Field);有些时候为了简化称其为属性(一个人的年龄姓名都是不同的,所以对于整体来讲就称为属性。)
  • 操作方法(Method):定义对象具有的处理行为(一个人可以唱歌、跳舞、游泳)

类与对像的定义

在Java中类是一个独立的结构体,所以需要使用class来进行定义,而在类之中主要由属性和方法组成,那么属性就是一个个具体的变量,而方法就是可以重复执行的代码。
范例:

class Person{//定义一个类
   String name;//人员姓名
   int age;//人员年龄
   public void tell(){
       System.out.println("姓名:"+name+",年龄"+age);
     }
   }
public class JavaDemo{
    public static void main (String args []){
    }
}

在这个类之中定义有两个属性(name、age)和一个方法(tell()),现在有了类之后如果要使用类,那么必须通过对象来完成,如果要产生对象,那么必须使用如下的语法格式来完成:

  • 声明并实例化对象:类名称 对象名称 = new 类名称();
  • 分步骤完成:
    声明对象:类名称 对象名称 = null;
    实例化对象: 对象名称 = new 类名称()。
class Person{//定义一个类
   String name;//人员姓名
   int age;//人员年龄
   public void tell(){
       System.out.println("姓名:"+name+",年龄"+age);
     }
   }
public class JavaDemo{
    public static void main (String args []){
        person = new person();//声明并实例化对象
    }
}

当获取了实例化对象之后,那么就需要通过对象进行类中的操作调用,此时有两种调用方式:
调用类中的属性:实例化对象.成员属性
调用类中的方法:实例化对象.方法名称()。

class Person{//定义一个类
   String name;//人员姓名
   int age;//人员年龄
   public void tell(){
       System.out.println("姓名:"+name+",年龄"+age);
     }
   }
public class JavaDemo{
    public static void main (String args []){
        person = new person();//声明并实例化对象
        per.name = "张三";
        per.age = 18;
        per.tell();//进行方法的调用
    }
}

如果此时的程序没有进行对象属性内容的设置,则该数据内容为其对应数据类型的默认值。String是引用数据类型,所以默认值为null ,int为基本类型,默认值为0.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值