zoukankan      html  css  js  c++  java
  • 面向对象基础(一)

    类:class

    对象:object , instance。 某个类的对象和某个类的实例是一样的意思。

    对象和类的关系:

        1.特殊到一般,具体到抽象

        2.类可以看成一类对象的模板,对象可以看成该类的一个具体实例

        3.类是用于描述同一类形的对象的一个抽象概念,类中定义了这一类对象所具有的静态和动态属性

    JDK提供了很多类供使用,编程人员也可以定义自己的类。

    定义类:

      1.属性field 。或者叫做成员变量

          属性的作用范围是整个类体。

          属性的定义格式:

            [修饰符]  属性类型  属性名 = [默认值]

            修饰符可以省略,可以是:public,protected,private,static,final

            属性类型可以是JAVA中任一种任何类型

            属性名为合法标识符即可、

            定义成员变量时可以对其初始化,如果不对其初始化,JAVA使用默认的值对其初始化。

          局部变量与成员变量:

            声明的位置不同,一个在类中,一个在方法中

            作用范围不同 ,当前类的方法,当前方法。不同方法中即使有同名的局部变量也没有关系,互不影响。

            成员变量有默认值,局部变量没有默认值

      2.方法method

      3.构造方法construtor  ,一个在船舰对象时自动调用的特殊方法

          构造器作用:为对象进行初始化(成员变量)工作

          构造器是一种特殊的方法,构造器的方法名必须和类名一致。不能在构造器里调用return。

          通过new关键字调用。与普通方法一样,构造器也可以重载。

      4.其他:代码块 静态代码块 内部块

    创建对象:

      1.类名 对象名 = new 类名();

    调用类的属性和方法:

      1.对象名.成员变量

      2.对象名.成员方法

    this的作用:
    • this表示的是当前对象本身,
    • 更准确地说,this代表当前对象的一个引用。
    • 普通方法中使用this。
    • 区分类成员属性和方法的形参.
    • 调用当前对象的其他方法(可以省略)
    • 位置:任意
    • 构造方法中使用this。
    • 使用this来调用其它构造方法
    • 位置:必须是第一条语句
    • this不能用于static方法。
     
     
     
     
    在类中,用static声明的成员变量为静态成员变量 ,或者叫做: 类属性,类变量.
    • 它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化,
    • 对于该类的所有对象来说,static成员变量只有一份。被该类的所有对象共享!!
    • 可以使用”对象.类属性”来调用。不过,一般都是用“类名.类属性”
    • static变量置于方法区中!
    • 用static声明的方法为静态方法
    • 不需要对象,就可以调用(类名.方法名)
    • 在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员。
    • 静态方法不能以任何方式引用this和super关键字
     
     
     
    为什么需要package?
    • 为了解决类之间的重名问题。
    • 为了便于管理类:合适的类位于合适的包!
    • package怎么用?
    • 通常是类的第一句非注释性语句。
    • 包名:域名倒着写即可,再加上模块名,并与内部管理类。
    • 注意事项:
    • 写项目时都要加包,不要使用默认包。
    • com.gao和com.gao.car,这两个包没有包含关系,是两个完全独立的包。只是逻辑上看起来后者
    是前者的一部分。
     
    java.lang
    • 包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。
    • java.awt
    • 包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用
    程序的图形用户界面(GUI)。
    • java.net
    • 包含执行与网络相关的操作的类。
    • java.io
    • 包含能提供多种输入/输出功能的类。
    • java.util
    • 包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数。
     
     
    为什么需要import?
    • 如果不适用import,我们如果用到其他包的类时,只能这么写:java.util.Date,代码量太大,不
    利于编写和维护。通过import可以导入其他包下面的类,从而可以在本类中直接通过类名来调用。
    • import怎么使用?
    • import java.util.Date;
    • import java.util.*; //导入该包下所有的类。会降低编译速度,但不会降低运行速度。
    • 注意要点:
    • java会默认导入java.lang包下所有的类,因此这些类我们可以直接使用。
    • 如果导入两个同名的类,只能用包名+类名来显示调用相关类:
    • java.util.Date date = new java.util.Date();
     
    静态导入
    import static java.lang.Math.*;//导入Math类的所有静态属性
    • import static java.lang.Math.PI;//导入Math类的PI属性
    • 然后,我们可以在程序中直接使用:System.out.println(PI);
  • 相关阅读:
    树莓派pwm驱动好盈电调及伺服电机
    wiringPi库的pwm配置及使用说明
    未能加载文件或程序集“**, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。试图加载格式不正确的程序。
    poj 1700 Crossing River(贪心)
    前缀 树 背单词(Remember the Word,LA 3942)
    c/c++ double的数字 转成字符串后 可以有效的避免精度要求不高的数
    hdu acm 2154(多解取一解)
    hdu 5104 Primes Problem(prime 将三重循环化两重)
    hdu 2203亲和串 (kmp)
    hdu 2519 新生晚会 排列组合
  • 原文地址:https://www.cnblogs.com/kjsd/p/11774011.html
Copyright © 2011-2022 走看看