• 第08章 对象和包


    第08章 对象和包

    本章重点:
    1、对象以及对象的成员
    2、访问控制符
    3、重载和包
    4、Java的注释

    对象有3个主要特征:行为、状态、标识符。

    public class newClass{
    void print(){
    System.out.println("我是一名优秀的程序员");
    }
    public static void main(String[] args){
    newClass nc = new newClass();
    nc.print();
    }
    }

    成员方法实际上就是函数,而函数拥有自己的特性,在定义方法时必须遵照下面的结构:
    返回值类型 方法名(形式参数){
    方法体;
    }

    public class newClass{
    void print(){
    System.out.println("我是一名优秀的程序员");
    }
    int numPrint(int x){
    return 2*x;
    }
    public static void main(String[] args){
    newClass nc = new newClass();
    nc.print();
    System.out.println("我的年龄:" + nc.numPrint(18));
    }
    }

    所谓的访问控制符就是能够控制访问权限的关键字。
    Java控制符有如下几种:
    1、类访问控制符:public、default。
    public :在所有类中的访问。
    default:在同一包中的类可以访问。

    2、成员变量与成员方法的访问控制符:private、public、default、protected。
    private :说明这个变量只能在类的内部被访问,类的外部是不能被访问的。
    public :说明这个变量所有的类都可以访问。
    default :说明只有同一个包中的类才能访问。
    protected:不仅同一个包中的类可以访问,并且位于其他包中的子类也可以访问。

    public class oneObj{
    public static void main(String[] args){
    twoObj to = new twoObj();
    to.print(2);
    System.out.println(2* to.x);
    }
    }
    class twoObj{
    public int x=1;
    public void print(int y){
    System.out.println(2*y);
    }
    }

    在Java中,同一个类中的许多方法可以拥有同一个名字,只要它们的参数声明不同即可,
    这种方法就称为重载(overloaded),此过程被称为方法重载(method overloading)。
    1、方法名相同。
    2、参数个数可以不同
    3、参数类型可以不同
    public class methodOverLoading{
    public static void main(String[] args){
    methodOverLoading method = new methodOverLoading();
    method.test();
    method.test(2);
    method.test("明白函数重载了吗?");
    }
    void test(){
    System.out.println("无参数");
    }

    void test(int a){
    System.out.println(a*2);
    }
    void test(String a){
    System.out.println(a);
    }

    }

    “包”机制是Java中特有的,也是Java中最基础的知识之一。
    在Java程序语言中,为了开发方便,会将多个功能相似的类放到一个组内,而这个组就是“包”,包就像一个目录结构。
    声明一个包必须使用关键字“package”。

    在Java中调用其他包中的公用类,可以使用两种方式:

    import java.util.Date;
    public class DatePA{
    public static void main(String[] args){
    System.out.println(new Date()); //配合import java.util.Date使用
    System.out.println(new java.util.Date()); //直接调用包使用,不推荐使用。
    }
    }

    静态导入:
    在以前版本的Java语法中,关键字import只能导入一个类或包中的所有类,而最新特性中还可以导入静态方法和静态域。
    import static 包名.类名.*;
    例如:
    import static java.lang.System.*;
    out.println("test"); 等价于 System.out.println("test");

    如何打包:
    javac -d . StaticClass.java
    javac -d . StaticImport.java //“.” 表示当前目录

    package com.cjg.StaticImport;
    public class StaticClass{
    public static int MAX = 100;
    public static void daying(int x){
    System.out.println(x);
    }
    }

    import static com.cjg.StaticImport.StaticClass.*;
    import static java.lang.Math.abs;
    public class StaticImport{
    public static void main(String[] args){
    System.out.println(MAX);
    daying(5);
    }
    }

  • 相关阅读:
    ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal使用及原理解析
    Spring Cloud入门教程
    极简策略模式
    MySQL热点行更新
    OpenResty安装、启动脚本及Lua脚本调试
    Spring Cloud Netflix超时时间设置
    SpringCloudCommons模块
    [转]Spring Boot @EnableConfigurationProperties @ConfigurationProperties注解配置原理源码分析
    SpringCloudContext模块
    [转]Spring源码解析之@Configuration
  • 原文地址:https://www.cnblogs.com/QQ9888267/p/6115242.html
Copyright © 2020-2023  润新知