黑马程序员------第7天笔记(包和数组)

本文详细解释了Java中包的概念、包的生成与访问规则,以及如何正确使用import关键字避免类名冲突。同时,通过实例展示了数组操作中的选择排序算法,并介绍了数组的基本概念与操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

包为什么存在?

开发中会出现很多类文件,当类的内容不一样,而类名重复的时候会导致在一个文件夹下只存在一个文件,一个文件夹下不允许同名—>解决方案包(java中的文件夹)

 

包的生成以及访问

Javac  -d .  PackageDemo.java    pack这个文件夹会在当前目录自动生成

Java  pack.PackageDemo     运行命令

 

包与包之间的访问

注意:

1,编译次序上:先编译被访问的包

2,被访问的类属性必须是public

3,被访问的类中的成员方法必须是public

4,不同包中的子类还可以直接访问父类中被protected权限修饰的成员

5,包与包之间可以使用的权限只有两种 public protected

6,访问权限大小比较

Public          protected         default          private

同一个类中:  OK             OK               OK             OK

同一个包中:  OK             OK               OK         

子类:        OK             OK

不同包中:    OK            

 

Protected  在继承中  覆盖函数的权限要大于或等于被覆盖函数的权限

 

类前面加了public以后,类名一定要和文件名一致,一个java文件里面不允许出现两个或两个以上的公用类或者接口

Import关键字

package pack;

//包名所有自母小写

/*

为了简化类名的书写,使用一个关键字 import(导入)

*/

import packb.haha.heihei.*;

//把这个包里面所有类都导入, 而不能导入其中的包

//建议不要写*   需要用到包中的那个类就导入哪个类

 

当导入的两个包中有同名的类  当实例化类时必须加上包名以区分实例化的是哪一个类

 

为了不使类重名,我们这样定义包名时】

建议定义包名不要重复,可以使用url来定义

例:

www.itcast.cn

packagecn.itcast.demo;

packagecn.itcast.test;

尽量保证包名的唯一性

 

va.lang.ArrayIndexOutOfBoundsException: 3

此错误说明该数组角标不存在

NullPointerExption

空指针异常:说明该数组名不指向数组

 

数组的操作

选择排序

代码:

public static void SelectSort(int[] arr)

         {

                   for(inti=0;i<arr.length-1;i++)

                   {

                            for(intj=i+1;j<arr.length;j++)

                            {

                                     if(arr[i]>arr[j])

                                     {

                                               inttemp=arr[i];

                                               arr[i]=arr[j];

                                               arr[j]=temp;

                                     }

                            }

                   }

         }

特点:

选择排序一次后决定一个元素的最终位置

冒泡排序(在面试中比较常见)

特点:相邻的两个元素进行比较,如果符合条件就互换位置

第一圈:最值出现在最后的位置

希尔排序效率最高,面试中问的最多的是选择排序和冒泡排序(真实开发并不多见)我们用工具包,但是数据结构还是很重要的

数组中的数组

int[][] arr=new int[3][4];

//定义了一个名字为arr的二维数组 [3]为二维数组的长度[4]为一维数组的长度

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值