Java面向对象的特征及理解

本文介绍了面向对象编程(OOP)的三大特征:封装、继承和多态。讲解了类和对象的概念,类比喻为建房子的图纸,对象是实际的房屋。重点阐述了实例化、静态成员、访问成员变量和方法的方式,以及null的概念及其处理。
摘要由CSDN通过智能技术生成

面试题:oop的三大特征是什么?  ---> 封装,继承,多态

类,对象是什么?

类是自定义类型, 对象是实体

通俗的讲类相当于建房子的图纸,对象相当于通过图纸建出来的所有房子 

通过一个类,可以产生多个对象

面向对象: 找对象 创对象  使用对象 

面向对象:注重的是对象,也就是参与过程所涉及到的主体。是通过逻辑将功能实现连接起来
面向过程: 1.把冰箱打开 2.把大象放入 3冰箱关起来

面向对象:打开冰箱,储存,关闭都是对冰箱的操作,是冰箱的行为。冰箱就是一个对象,所以只要操作冰箱所具备的功能,都要定义在冰箱中

package Test;
 
/**
 * 访问修饰限定符:
 * public: + 公有的
 * private: - 私有的
 * protected: 受保护的
 * 什么都不写 : 默认权限 -> 包访问权限
 */
 
class Person{
    //字段 -> 成员变量  : 定义在方法外边 类 的 里面
    //实例成员变量: 在对象Person里面
    //实例化没有初始化 默认值为对应的0值.-> (1.引用类型默认为null 2.简单类型默认为0)
    //我们也可以对实例成员变量进行赋值
    //char -> "\u0000"(空类型)  boolean -> false
    public String name = "lin";
    public int age = 18;
    
//    public char ch;
//    public boolean flg;
    
    //静态成员变量 不属于对象 属于类  ---有static 修饰
    public static int size = 100;
    //方法 -> 行为  eat 和 sleep  --- 实例成员方法
    public void eat() {
        int a = 10 ; //局部变量 --- 使用前需要初始化
        System.out.println("eat()!" );
    }
    
    public void sleep() {
        System.out.println("sleep()");
    }
    
    //静态成员方法
    public static void func1() {
        System.out.println("static::func1()");
    }
    
}
public class TestDemo{
    public static void main(String[] args) {
        //如何访问静态成员方法 ,跟静态成员变量类似通过类名访问 
        Person.func1();
    }
    
    public static void main4(String[] args) {
        //如何访问实例成员方法?
        //跟成员变量类似,也需要创建一个对象进行访问
        Person per = new Person();
        per.eat();
        per.sleep();
    }
    public static void main3(String[] args) {
        //如何访问静态的数据成员?
        //不需要new一个对象,直接通过类名就可以访问了
        //  类名.静态成员变量
        System.out.println(Person.size);
        
    }
    public static void main2(String[] args) {
        Person per = new Person();
        //如何访问对象当中的实例成员变量?
        //操作符: 点号  对象的引用 . 成员变量
        System.out.println(per.name); 
        System.out.println(per.age);
        
//        System.out.println(per.ch); 
//        System.out.println(per.flg); 
    }
    public static void main1(String[] args) {
        //实例化一个对象 通过关键字 new
        Person person1 = new Person();
        Person person2 = new Person();
        Person person3 = new Person();
        Person person4 = new Person();
    }
}

new 

注意:

new关键字用于创建一个对象的实例

使用 . 来访问对象中的属性和方法

同一个类可以创建多个实例

字段/属性/成员变量
在类中,但是方法外部定义的变量.这样的变量我们称为“字段”或“属性”或“成员变量"三种称呼都可以一般不会严格区分).
用于描述一个类中包含哪些数据

使用 . 访问对象的字段.
“访问”既包含读,也包含写
对于一个对象的字段如果没有显式设置初始值,那么会被设置一个默认的初值
默认值规则:
。对于各种数字类型,默认值为 0.
。对于 boolean 类型,默认值为 false.
。对于用类型(String,Array, 以及自定制类), 默认值为 null 

认识 null
null 在Java 中为“空用",表示不引用任何对象,类似于C语言中的空指针如果对 null 进行,操作就会引发异常 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值