2022_0111日结

引用数据类型

引用类型:具体类、抽象类、接口
1)具体类:
形式参数:如果形式参数是一个具体的类,那么需要创建该类对象
返回值:方法的返回值是一个具体的类,创建该类对象
2)抽象类:
形式参数:需要再定义一个抽象类的子类,来进行实例化(即创建对象)
返回值:返回值如果是抽象类,需要返回的是该抽象类的子类对象
3)接口
形式参数:如果形式参数是接口的情况,那么需要自定义一个接口的子实现类,然后通过接口多态的形式给接口实例化
返回值:返回值如果是接口类型,需要返回的是该接口子实现类对象(通过子实现类进行实例化)
4)数组
   实际参数需要传递数组对象

内部类


       在一个类中定义另一个类,称为内部类。
              1)成员内部类---在外部类的成员位置定义的类
              2)局部内部类---在外部类的成员方法中定义的类
在类A中定义一个类B,那么类B是类A的内部类,类A就是类B的外部类。
内部类是直接可以访问外部类的成员,包括私有。外部类要访问内部类的成员,必须通过创建内部类的对象访问该内部类的成员。

外部类访问内部类
   1)
   
   2)如何直接访问成员内部类 
          class  类名 {
          public int 成员变量;
             class 内部类{
                public void show(){
                     System.out.println(可以访问外部类的成员(包括私有));
                }
             }
          }
          
       public ckass 测试类{
         public static void main(String[] args){
           外部类名.内部类名 对象名 =  new 外部类对象. new 内部类对象
         }
       }
       
       成员内部类可以使用private修饰,可以保证数据的安全性
       
       成员内部类还可以加入static修饰的,特点:
       如果成员内部类都是静态的--成员内部类的这个方法是否静态,无关了
                   访问外部类成员---->只能是静态的
       非静态的成员内部类中,不能存在静态方法
          因为静态方法先进方法区   

权限修饰的范围

权限修饰
                 在同包下的   同包下的子类中   不同包下子类中    不同包下的无关类中
                   当前类中    /无关类中                                    
private               √
 
默认修饰符              √         √
 
protected:受保护的      √          √             √
 
public :最大的         √          √              √           √
 
其他的修饰符:
          static:结合自定义去使用
           定义自定义常量结合final
                   public static final 数据类型 变量名 = 初始化数据;
            static还可以在工具类中---->工具类中的构造方法私有化,里面的方法都加入static,类名访问
 
 
       abstract--->修饰类-->抽象类
               还可以在成员方法中定义:抽象类中 =--->public abstract 返回值类型 方法名(参数列表) ;
               abstract在接口中定义的抽象方法---abstract可以省略
 
      final结合static一块使用的:
      public static final 数据类型 变量名 = 初始化数据;

package在开发中的包的真实含义

包:---就是文件夹(目录)
 
       真实的开发环境中包是需要针对代码分层的
 
      我们在开发项目的时候,不可能将所有的java文件都放在一个包下!
​
      项目中可能有10000多个java文件---->全都放在一个包(目录下)---不规范化---->后期管理维护很麻烦!
 
      怎么办呢?
 
               一般都是多级包--->com.qf.xx ---->公司域名的反写-->带上部门的名称
               cn.hsbc(hsbc:汇丰银行)
​
  代码分包:
       实体类
         com.qf.pojo/entity/domain----> 存储的实体类(描述现实世界事物的)
            这个类---->符合"JavaBean规范"
                      这个类是具体类 class XXX{}
             //属性私有化
         //对外提供公共的访问方法setXXX()/getXXX()
             //实现序列化接口--->serializable接口           
             (以后在分布式项目中)
            当前这些类---需要在网络中传输的("流数据")
        class User{
               //属性私有化
             //setXXX()getXXX()
              }
                service层(服务层)
      业务接口层
           包名:
          com.qf.service
         举例:  UserService
              //用户注册功能
            boolean register(User user) ;
             boolean login(User user) ;
        com.qf.service.impl
           业务接口的实现
              UserServiceImpl
     实现上面的这些功能!
       数据--->从哪里来--->从数据库中访问
        在业务实现层中调用数据库访问层中的接口方法
                dao:data access Object:数据访问对象
    持久层(数据库访问层)
                   包名
                  com.qf.dao
        数据访问的接口层
      UserDao接口
         //查询数据库中是否有User信息
     boolean sleectUser(User user) ;
        com.dao.impl
            数据访问接口实现层
    UserDaoImpl实现层      boolean sleectUser(User user) {
            //jdbc--->java 连接数据库的操作获取数据
​
                                                              }
    控制层  controller层
         包名
              com.qf.controller
     类名:UserController
     代码--->调用业务层数据方法
 就有业务数据--->利用前后端的交互技术进行数据的视图的渲染! 
 

 常用的重点类
    Object:任意类的父类(jdk提供/自定义的类)
            所有类默认继承于Object类  可以不写
         常用:
    public final Class getClass() :获取当前正在运行的Class类对象(字节码文件对象)     public int hashCode():理解 "一个地址值",不是实际意义的地址值                                      它是经过底层的哈希算法(hash)算出来的(目的是区别方法的一致性)
    public String toString()    返回对象的字符串表示形式  自动生成
                                                alt+ins---->toString()
    public boolean equals(Object obj):比较对象是否相等
               引用该类型比较的是地址值是否相同

    "=="和equals的区别
         ==:如果连接都是两个基本数据类型:比如int 比较的是数据值是否相等
         如果连接的是引用类型,那么比较的是地址值是否相同   
    equals()是Object类的方法
              源码
                     public boolean equals(Object obj) {
                                return (this == obj);
                       }
 
      如果我们不重写Object的equals方法,
      默认比较的是两个引用类型的地址值是否相同,
      如果重写了equals方法而且同时重写了hashCode()比较的是成员信息是否相同!
      所以几乎所有类都会覆盖!
             论何时覆盖该方法equals(),通常需要覆盖hashCode方法   
      
好的,我可以试着回答你的问题。那么,你的问题是关于car_train_0111.csv数据集的二手车价格分析,使用Pyspark进行实现的。 Pyspark是一个基于Apache Spark的Python API,它可以用于大规模数据处理和分析。使用Pyspark进行数据分析,可以充分利用Spark的分布式计算能力,从而加速数据处理和分析的速度。 对于二手车价格分析,可以按照如下步骤进行: 1. 加载数据集 使用Pyspark的API,可以将数据集加载到Spark的分布式内存中,以便进行后续的处理和分析。 2. 数据清洗和预处理 对于数据集中存在的缺失值、异常值和重复值等问题,需要进行清洗和预处理。例如,可以使用Pyspark的API进行数据筛选、去重、填充缺失值等操作。 3. 特征工程 对于二手车价格分析,需要对数据集中的特征进行提取和转换,以便进行后续的建模和分析。例如,可以使用Pyspark的API进行特征提取、特征编码、特征降维等操作。 4. 建模和评估 使用Pyspark的机器学习库,可以对数据集进行建模和训练,并对模型进行评估。例如,可以使用Pyspark的API进行模型选择、参数调优、交叉验证等操作。 5. 结果可视化和展示 最后,可以使用Pyspark的可视化库,将分析结果进行可视化展示,并进行结果解释和分析。 以上就是使用Pyspark进行二手车价格分析的基本步骤。希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值