• 包和导包


    包和导包

      随着代码越写越多. 咱们不可能一直这样在src里创建java文件了. 就好比你看片片, 你不可能把所有的片片都堆桌面, 对吧, 你肯定要准备几个文件夹, 然后对这些片片进行分类, 哪些好看, 哪些无码, 哪些重口味~~. 一样啊. 咱的代码也是啊. 不可能就这么堆src里. 时间长了. 不好管理啊. 就像你桌面的片片. 太多了之后. 哪个好你也不知道了.

    OK. 操作系统使用文件夹来装不同的文件. 在java里使用包来管理不同的java文件

    怎么创建包? 看着

    1c42fd44-1709-487c-8ddf-81f973acf397

    右键-> 新建-> package

    f3680aaa-08eb-4170-afaa-2f1aac5b5327

    注意: 包名一般用公司域名的翻转. 一般都是com或者org开头. 还有一些公司会用net开头. 然后就是项目名, 最后一般都是功能模块名. 比如. 你先在写的是qq的聊天窗口那就可以: com.qq.talk

    创建出来的包是这样个样子的. 但是如果你去文件系统里看. 它是这样的.

    56ffbfd5-1cb1-4972-8748-0aed1f8cbed5

    所谓的”.”其实就是文件夹.

    root@wenyl:/mnt/d/Users/CMSZ/Desktop/Java_Play/HelloWorld/src# tree com/

    com/

    └── lewen

        └── opp

    OK. 接下来我们到包里创建一个java文件看看

    ec61fedb-92e7-4a22-9a12-56feadd15e64

    我们发现, 现在写的代码的第一行多了这样一句话叫package. package表示当前文件所属的包.

    package需要注意的点:

    1. 必须放在有效代码的第一行. 不可以写在别处.
    2. package 后面的代码必须和文件系统的路径一致.

    一个包OK了. 那如果是多个包呢? 我们到src位置创建一个新包

    9608a071-d328-4364-a3bf-b39d71996751

    1202ed6d-53b4-432a-a8b6-51ac145909bf

    idea会自动帮我们分开. 很人性化.

    接下来. 我们到play里写一个Person类.

    package com.lewen.opp;
    
    public class Person {
        String name;
        String address;
    
        public Person(String name, String address) {
            this.name = name;
            this.address = address;
        }
    
        public void chi() {
            System.out.println(this.name + "正在吃东西");
        }
    }
    

    我们到play里调用这个类

    package com.lewen.play;
    
    public class TestPerson {
        public static void main(String[] args) {
            Person p1 = new Person("武大郎", "阳谷县"); // 这行报错
        }
    }
    

    我们发现 程序报错. 原因是. 自己包里没有这个叫Person的东西. 就好比, 你在你自己的房间里喊楼下的人. 听不见. 所以呢. 你需要打电话把楼下的人叫上来. 然后你俩面对面了. 你说什么他都能听到了. 此时, 我们需要导包,

    语法:

    import 包.类

    package com.lewen.play;
    import com.lewen.opp.Person
    public class TestPerson {
        public static void main(String[] args) {
            Person p1 = new Person("武大郎", "阳谷县"); // 这行报错
        }
    }
    


    聪明的你一定想起来了. Scanner不就这样么. 对了. Scanner不在我这里. 用的时候就需要导入包.

    导包快捷键 alt+enter

    不需要导包:

    1. 在自己包里
    2. java.lang包. 我们用的String就是这个包里的.
  • 相关阅读:
    (4.3)基于机器学习(分类)的酒店评论倾向性分析
    (4.2)基于LingPipe的文本基本极性分析【demo】
    (4.1)LingPipe在Eclipse中的运行
    微信获取openid
    微信token
    js跳转整理(简记)
    阅读有感
    normalize.css v2.1.2 翻译
    来,让我们谈一谈 Normalize.css
    jquery ajax事件执行顺序
  • 原文地址:https://www.cnblogs.com/wenyule/p/12198898.html
Copyright © 2020-2023  润新知