zoukankan      html  css  js  c++  java
  • Java面向对象——类和对象

    类(Class)和对象(Object)是面向对象的和兴概念

    • 类是对一类事务的描述,是抽象的、概念上的定义
    • 对象是诗句存在的该类事务的每个个体,因而也称为实例

    可以理解为:=抽象概念的人;对象=实实在在的某个人

    面向对象程序设计的重点是类的设计,类的设计,其实就是类的成员的设计

    1.类的成员

    • 属性:对应类中的成员变量
    • 行为:对应类中的成员方法

     一个Person类,包含属性和方法:

    package com.xlx.java;
    
    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello,Java!");
            
    //        1.创建Person类的对象
            Person p1=new Person();
    //        2.调用属性
            p1.name="张三";
            p1.age=12;
            System.out.println(p1.name+"的年纪是:"+p1.age);
    //        3.调用方法
            p1.eat();
            p1.talk("Chinese");
        }
    }
    
    class Person{
    //    属性
        String name;
        int age;
        boolean isMale;
        
    //    方法
        public void eat() {
            System.out.println("人可以吃饭");
        }
        
        public void sleep() {
            System.out.println("人可以睡觉");
        }
        
        public void talk(String lang) {
            System.out.println("人可以说话,使用的语言是:"+lang);
        }
    }
    • 如果创建了一个类的多个对象,每个对象都独立的拥有这个类的属性(非Static),意味着如果我们一个对象的属性A,则不影响另外一个对象的属性A的值
    • 如果new一个对象等于一个已经创建了的对象,则修改该对象的值,会改变原对象的值(地址赋值)

    1.属性

    属性与局部变量的对比:
    1.不同点
    (1)在类中声明的位置的不同
    • 属性:直接定义在类的一对{}中
    • 局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量
    (2)关于权限修饰符的不同
    • 属性:可以在声明属性时,指明其权限,使用权限修饰符
      • 常用的权限修饰符:private、public、缺省、protected(private String name;)
        • 如:public除了这个类还能用;private除了这个类就不能用,不写默认缺省
    (3)默认初始化值的情况:
    • 属性:类的属性,根据其类型,都有默认初始化值
      • 整型(byte,short,int,long)——0
      • 浮点型(float,double)——0.0
      • 字符型(char)——0或'u0000'
      • 布尔型——false
      • 引用数据类型(类、数组、接口)——null
    • 局部变量:没有默认初始化值
      • 这意味着,我们在调用局部变量之前,一定要显示赋值
      • 特殊:形参(局部变量)在调用时,我们赋值即可
    (4)内存中加载的位置
    • 属性:加载到堆空间中
    • 局部变量:加载到栈空间中
    2.相同点
    • 定义变量的格式:数据类型 变量名 = 变量值
    • 先声明后使用
    • 变量都有其对应的作用域

    2.方法:用来描述类应该有的功能

    (1)声明:权限修饰符 返回值类型 方法名(形参列表){ 方法体 }

    声明一个类:

    package com.xlx.java;
    
    public class Customer {
    
    }
    
    class CustomerC{
    //    属性
        String name;
        int age;
        boolean isMale;
        
    //    方法
        public void eat() {  // 没形参没返回值
            System.out.println("吃饭");
        }
        
        public void sleep(int hour) {  //有形参没返回值
            System.out.println("休息了"+hour+"个小时");
        }
        
        public String getName(){    //没形参有返回值
            return name;
        }
        
        public String getNation(String nation) {    // 有形参有返回值
            String info="我的国家是"+nation;
            return info;
        }
    }

    说明:

    1. 关于权限修饰符:默认的public
      1. Java规定的四种权限修饰符:private、public、缺省、protected
    2. 返回值类型:有返回值 VS 没有返回值
      1. 如果方法有返回值,则必须在方法声明时,指定返回值的类型,同时,方法中需要使用return关键字返回指定类型的变量或者常量
      2. 如果方法没有返回值,则方法声明时,使用void来表示。通常,没有返回值的方法中,就不用使用return,但是,如果用的话,只能 return; 表示返回
      3. return后不可声明表达式
    3. 形参列表:方法可以声明0个,1个,或多个形参。
      1. 格式:数据类型1 形参1,数据类型2 形参2,...
    4. 方法使用中,可以调用当前类的属性和方法。
    5. 方法中不可以定义一个方法
  • 相关阅读:
    ASP.NET Web API 控制器执行过程(一)
    ASP.NET Web API 控制器创建过程(二)
    ASP.NET Web API 控制器创建过程(一)
    ASP.NET Web API WebHost宿主环境中管道、路由
    ASP.NET Web API Selfhost宿主环境中管道、路由
    ASP.NET Web API 管道模型
    ASP.NET Web API 路由对象介绍
    ASP.NET Web API 开篇示例介绍
    ASP.NET MVC 视图(五)
    ASP.NET MVC 视图(四)
  • 原文地址:https://www.cnblogs.com/codexlx/p/13514970.html
Copyright © 2011-2022 走看看