zoukankan      html  css  js  c++  java
  • 第7章 类和对象

     

    1.什么是类和对象

    1.1对象的概念

    万物皆是对象,所有客观存在的物体都是对象

    1.2什么是面向对象

    把数以及对数据的操作方法放在一起,作为一个相互依存的整体,这个整体就是对象

    1.3类

    类是模子,是对象所有属性和方法的一个抽象集合
    类的特点:
    类是对象的类型,即对象的类型是类
    具有相同属性和方法的一组对象的集合

    1.4什么是对象的属性

    属性——对象具有的各种特征,注意不是类哦
    每个对象的每个属性都拥有特定值
    例如一个手机,手机的大小,重量等就是手机这个对象的属性

    1.5什么是对象的方法

    方法——对象执行的操作
    例如,手机这个对象有打电话,发短信,上网等一些方法

    1.6类与对象的关系/区别

    类是对象的抽象概念,是抽象的一个模板,对象是根据类来生成的。我们定义一个类,实际使用过程中,要创建一个对象,来操作这个对象,不能直接对类进行操作

    2.如何定义Java中的类

    2.1类的组成

    一个类是由属性和方法构成的
    所有的类都是以class为组织单元

    2.2定义一个类的步骤:

    a.定义一个类名
    b.编写类的属性,属性可以有多个或者没有
    c.编写类的方法,

     1 public class HelloWorld{
     2     public static void main(String[] args) {
     3         //定义类的属性
     4         String url_China = "甘美丽和卢小帅";
     5         String url_English = "www.ganhuanmin.top";
     6         //定义类的方法
     7         public viod printout(){
     8                          System.out.println(url_China);
     9         System.out.println(url_English);
    10         }
    11 
    12 
    13     }
    14 }

    3.如何使用Java中的对象

    使用对象的步骤:

    3.1步骤1:创建对象

    方法:类名 对象名 = new 类名();
    HelloWorld hello = new HelloWorld();

    3.2步骤2:使用对象

    引用对象的属性:对象名.属性
    hello.url_China=”幸福时光”;//给url_China赋值
    引用对象的方法:对象名.方法名();
    hello.printout();//调用方法

    4.Java中的成员变量和局部变量

    1.成员变量:
    在类中定义,用来描述对象将要有什么属性
    成员变量能够在该类的所有方法中使用,也能在与该类相关联的类中使用
    2.局部变量:
    在类的方法中定义,在方法中临时保存数据
    局部变量只能在定义他的那个方法中使用,如果你是在方法1中定义,就只能用在方法1中,方法2是无法使用这个变量的
    3.成员变量和局部变量的区别:
    a.作用域不同
    局部变量的作用域仅限于定义它的方法
    成员变量的作用域在整个类内部都是可见的
    b.初始值不同
    Java会给成员变量一个初始值
    Java不会给局部变量赋予初始值
    c.局部变量同名问题
    在同一个方法中,不允许有相同的局部变量
    在不同的方法中,可以有相同的局部变量
    d.优先级
    两类变量同名时,局部变量具有更高的优先级,也就是遵循就近原则

    5.Java中的构造方法

    5.1什么是构造方法

    创建一个对象时:
    HelloWorld hello = new HelloWorld();
    1.使用new+构造方法, 创建一个新的对象,这也是构造方法唯一的一个功能
    2.构造方法是定义在Java类中的一个用来初始化对象的方法,构造方法与类名相同且没有返回值。
    3.如果我们没定义构造方法,Java自动补充一个默认的构造方法
    4.构造方法的语句格式


    使用的时候用public加类名就可以,不用加构造方法
    其实我们创建对象的时候执行的就是构造方法
    5.当没有制定构造方法时,系统会自动添加无参的构造方法
    6.当有指定构造方法,无论是有参,无参的构造方法,都不会自动添加无参的构造方法
    7.构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法
    8.构造方法不但可以给对象的属性赋值,还可以在赋值的时候对值进行判断,给属性赋一个合理的值

    6.static的使用之静态变量

    被static修饰的成员称为静态成员或者类成员,该成员在类中被定义,但是将被该类所有的对象拷贝一份,所有的对象都将自动拥有这个属性。
    使用static可以修饰变量、方法、代码块
    调用这个static变量时,有两种不同的调用方法:
    1.创建一个对象,根据对象.属来调用
    2.可以直接使用类名调用
    用个图片说明:


    需要注意的是,static修饰的变量称为静态变量,当这个静态变量在一个对象里面被改变的时候,不会改变另外一个变量里面的值

    7.static的使用之静态方法

    当一个方法被static修饰之后,则跟静态变量一样,成为一个静态方法,这个方法被所有的对象共享,即根据这个类创建的对象都自动带有这个方法。
    调用方式也是有两种,同上面静态变量是一样的。
    第一种是直接通过类名.方法名()调用
    第二种是先创建对象,然后通过对象.方法名()调用
    不过静态方法里面有一些调用是需要注意的:
    1.静态方法里面只能调用静态方法,不能直接调用非静态方法,因为静态方法和静态变量都是对象共享,都默认含有,但是非静态方法只能先创建对象,然后通过对象调用。
    2.普通成员方法中,可以直接访问静态变量和非变量
    3.静态方法不能直接调用非静态方法,需要通过对象来访问非静态方法

    8.static使用之静态初始化块

    初始化块是对构造方法的一个补充,可以将一些需要初始化的变量值放在这个地方,在实例化的时候会执行。
    如果在初始化块前加上static,则成为一个静态初始化块,这个块只能给静态变量赋值,不能初始化普通的成员变量
    静态初始化块只会在创建对象的时候初始化一次,普通初始化块不是一次
    例子:

     1 public class HelloWorld {
     2 
     3     String name; // 声明变量name
     4     String sex; // 声明变量sex
     5     static int age;// 声明静态变量age
     6 
     7     // 构造方法
     8     public HelloWorld () { 
     9         System.out.println("通过构造方法初始化name");
    10         name = "tom";
    11     }
    12 
    13     // 初始化块
    14     { 
    15         System.out.println("通过初始化块初始化sex");
    16         sex = "男";
    17     }
    18 
    19     // 静态初始化块
    20      static { 
    21         System.out.println("通过静态初始化块初始化age");
    22         age = 20;
    23     }
    24 
    25     public void show() {
    26         System.out.println("姓名:" + name + ",性别:" + sex + ",年龄:" + age);
    27     }
    28 
    29     public static void main(String[] args) {
    30 
    31         // 创建对象
    32         HelloWorld hello = new HelloWorld();
    33         // 调用对象的show方法
    34         hello.show();
    35 
    36     }
    37 }
  • 相关阅读:
    【洛谷】P1156 垃圾陷阱【DP】
    【洛谷】P1063 能量项链【区间DP】
    Android
    Android
    Android中使用ViewPager制作广告栏效果
    Android UI 设计之 TextView EditText 组件属性方法最详细解析
    GitHub 优秀的 Android 开源项目
    下载 编译 Android源代码 和 Android kernel源代码
    UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战
    Android开发技巧--Application, ListView排列,格式化浮点数,string.xml占位符,动态引用图片
  • 原文地址:https://www.cnblogs.com/cenyu/p/6068829.html
Copyright © 2011-2022 走看看