HADOOP大数据处理技术9-JavaSe

心若有阳光 你便会看见这个世界有那么多美好值得期待和向往

2024/4/9

13.static 用于修饰属性和方法 static属性通过类名访问

1)static实现内存共享

bean1和bean2的内存是互相独立的 怎么实现内存共享呢?

共享内存public class Comm {    public static float money;}public class HomeMember {    private String name;    private String sex;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getSex() {        return sex;    }    public void setSex(String sex) {        this.sex = sex;    }    public void store(float c){        Comm.money=Comm.money+c;    }    public void consumer(float c){        Comm.money=Comm.money-c;    }}public class Test {    public static void main(String[] args) {        HomeMember homeMember=new HomeMember();        homeMember.setName("zhangsan");        homeMember.store(3000);        HomeMember homeMember1=new HomeMember();        homeMember1.setName("lisi");        homeMember1.consumer(1000);        System.out.println(Comm.money);    }}

练习:学校的资金 共享public class Expend {    public static double money;}public class School {    private String name;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public void paid(double d){        Expend.money=Expend.money-d;    }    public void income(double d){        Expend.money=Expend.money+d;    }}public class Test1 {    public static void main(String[] args) {        School school=new School();        school.setName("shandong");        school.income(234556);        School school1=new School();        school1.setName("guanli");        school1.paid(2763);        System.out.println(Expend.money);    }}

2)为静态属性初始化赋值 需要用静态块

3)静态方法:写了static之后 这个方法就不再属于某个对象了 可以直接使用类名.来调用

import java.text.SimpleDateFormat;import java.util.Date;public class DateUtils {    //Date yyyy-mm-dd hh:mm:ss mi    //在开发当中 经常要用yyyy-mm-dd 2020-12-12    public static String toYYMMDD(Date date){//Alt+Enter导入类        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");        String dt=sdf.format(date);        return dt;    }    //在开发当中 经常要用yyyy-mm-dd 2020-12-12    public String toYYMM(Date date){        SimpleDateFormat sdf=new SimpleDateFormat("YYYY-MM");        String dt=sdf.format(date);        return dt;    }}import java.util.Date;public class Test2 {    public static void main(String[] args) {//        DateUtils dateUtils=new DateUtils();//        String dt=dateUtils.toYYMMDD(new Date());//        System.out.println(dt);          String dt=DateUtils.toYYMMDD(new Date());        System.out.println(dt);           String dt1=DateUtils.toYYMM(new Date());        System.out.println(dt1);    }}

以前我们调用方法需要创建对象 现在我们可以直接使用类名来调用(static)

14.final

final放到类上 不能被继承

final放到方法上 不能被重写

final放到属性上 不能被更改

15.StringBuffer(String)

执行速度慢 线程安全

执行速度快 线程不安全

public class Test {    public static void main(String[] args) {        String str="xxx";        //方法有synchronized关键字        //同步 先来先调用 后来后调用        StringBuffer stringBuffer=new StringBuffer("aa");        stringBuffer.append("bb");        stringBuffer.append("cc");//动态添加        stringBuffer.append("dd");        System.out.println(stringBuffer);        //方法没有synchronized关键字        StringBuilder stringBuilder=new StringBuilder("aa");        stringBuilder.append("bb");        stringBuilder.append("cc");        stringBuilder.append("dd");    }}

16.接口(父类的思想 接口相当于父类 )

1)创建接口 右键 Ixxxxx(如IStudentDAO)

2)接口中只放方法的声明

3)创建实现类 实现接口

4)创建接口的原因(好处):松耦合 保证架构的稳定 使我们在维护的时候 改变的代码最少(父类的思想 接口相当于父类 )

为什么不选择父类而选择接口呢?

因为父类中的是通用方法 子类只能调用父类的方法 而接口的类中都有方法的实现 可以调用所有的方法 所以说 开发当中 接口用的比较多

//开发的时候:通过接口 implements就是为声明加{} 实现public class StudentDao implements IStudentDAO{    //几十个参数    public void addStu(Student stu){        System.out.println(stu.getStuName()+" "+stu.getStuSex()+" "+stu.getStuAge());    }}public interface IStudentDAO {    //接口中只放方法的声明    //先声明 在创建DAO类 实现方法    public void addStu(Student stu);}

2024/4/10

练习:课程 使用接口1.创建接口 放上方法的声明import java.util.ArrayList;public interface ICourseDAO {    public void addCou(Course course);    public void updateCou(Course course);    public ArrayList<Course> findallCous();}2.创建实体类 包括 属性 get set 方法public class Course {    private int cid;    private String cname;    public int getCid() {        return cid;    }    public void setCid(int cid) {        this.cid = cid;    }    public String getCname() {        return cname;    }    public void setCname(String cname) {        this.cname = cname;    }}3.写主方法import java.util.ArrayList;public class Test2 {    public static void main(String[] args) {        ICourseDAO courseDAO=new CourseDao();        Course c=new Course();        c.setCid(3);        c.setCname("lis");        courseDAO.addCou(c);        Course c1=new Course();        c1.setCid(4);        c1.setCname("maliu");        courseDAO.updateCou(c1);        ArrayList<Course> list=courseDAO.findallCous();        //增强for循环        for (Course course : list) {            System.out.println(course.getCid()+" "+course.getCname());        }    }}

练习:新闻 使用接口1.创建实体类public class New {    private String nsme;    private String content;    public String getNsme() {        return nsme;    }    public void setNsme(String nsme) {        this.nsme = nsme;    }    public String getContent() {        return content;    }    public void setContent(String content) {        this.content = content;    }}2.创建接口 放上方法的声明import java.util.ArrayList;public interface INewDAO {    public void addNew(New n);    public void updateNew(New n);    public ArrayList<New> findallNews();}import java.util.ArrayList;3.创建实现类 为声明添加实现public class NewDao implements INewDAO{    public void addNew(New n){        System.out.println(n.getNsme()+" "+n.getContent());    }    public void updateNew(New n){        System.out.println(n.getNsme()+" "+n.getContent());    }    public ArrayList<New> findallNews(){        ArrayList<New> list=new ArrayList<>();        New n1=new New();        n1.setNsme("社会");        n1.setContent("外交会见");        list.add(n1);        New n2=new New();        n2.setNsme("天气");        n2.setContent("炎热无比");        list.add(n2);        return list;    }}4.创建测试类import java.util.ArrayList;public class Test3 {    public static void main(String[] args) {        INewDAO newDAO=new NewDao(); //父类可以接收子类的对象        New n1=new New();        n1.setNsme("政策");        n1.setContent("贷款5000玩");        newDAO.addNew(n1);        New n2=new New();        n2.setNsme("心灵鸡汤");        n2.setContent("勇敢迈出脚步");        newDAO.updateNew(n2);        ArrayList<New> list=newDAO.findallNews();        for (New aNew : list) {            System.out.println(aNew.getNsme()+" "+aNew.getContent());        }    }}

练习: 教师 使用接口1.创建实体类public class Teacher {    private int tid;    private String tname;    public int getTid() {        return tid;    }    public void setTid(int tid) {        this.tid = tid;    }    public String getTname() {        return tname;    }    public void setTname(String tname) {        this.tname = tname;    }}import java.util.ArrayList;2.创建接口 放入方法的声明public interface ITeacherDAO {    public void addTeacher(Teacher t);    public void updateTeacher(Teacher t);    public ArrayList<Teacher> findallTeachers();}3.创建实现类 为声明添加实现import java.util.ArrayList;public class TeacherDao implements ITeacherDAO{    @Override    public void addTeacher(Teacher t) {        System.out.println(t.getTid()+" "+t.getTname());    }    @Override    public void updateTeacher(Teacher t) {        System.out.println(t.getTid()+" "+t.getTname());    }    @Override    public ArrayList<Teacher> findallTeachers() {        ArrayList<Teacher> list=new ArrayList<>();        Teacher t1=new Teacher();        t1.setTid(1);        t1.setTname("zhangsan");        list.add(t1);        Teacher t2=new Teacher();        t2.setTid(2);        t2.setTname("lisi");        list.add(t2);        return list;    }}4.测试类import java.util.ArrayList;public class Test4 {    public static void main(String[] args) {        ITeacherDAO teacherDAO=new TeacherDao();        Teacher t3=new Teacher();        t3.setTid(3);        t3.setTname("wangwu");        teacherDAO.addTeacher(t3);        Teacher t4=new Teacher();        t4.setTid(4);        t4.setTname("maliuu");        teacherDAO.updateTeacher(t4);        ArrayList<Teacher> list=teacherDAO.findallTeachers();        for(int i=0;i<list.size();i++){            Teacher t=list.get(i);            System.out.println(t.getTid()+" "+t.getTname());        }    }}

相信自己 你能作茧自缚 就能破茧成蝶

雾都不起风

太阳升起时你未曾离开 太阳落下时希望你依然还在.

公众号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/312304.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java中的装箱和拆箱

本文先讲述装箱和拆箱最基本的东西&#xff0c;再来看一下面试笔试中经常遇到的与装箱、拆箱相关的问题。 目录&#xff1a; 装箱和拆箱概念 装箱和拆箱是如何实现的 面试中相关的问题 装箱和拆箱概念 Java为每种基本数据类型都提供了对应的包装器类型&#xff0c;至于为…

git报错

这里写自定义目录标题 git报错Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 有一个原因就是在github上设置对应密钥时&#xff0c;有一个key获取应该设置为…

在Debian 12系统上安装Docker

Docker 在 Debian 12 上的安装 安装验证测试更多信息 引言 在现代的开发环境中&#xff0c;容器技术发挥着至关重要的作用。Docker 提供了快速、可靠和易于使用的容器化解决方案&#xff0c;使开发人员和 DevOps 专业人士能够以轻松的方式将应用程序从一个环境部署到另一个环…

Ubuntu20从0开始选择合适版本手动安装cuda,torch-geometric,jax

一个全新的ubuntu20台式机&#xff0c;在Additional Drivers安装nvidia-470-server&#xff08;一开始安装450&#xff0c;cunda版本只能到11.0&#xff0c;torch有些库用不了&#xff0c;可以直接切换点击Apply Changes重启就行&#xff09; nvidia-smi查看CUDA Version可到…

Docker之自定义镜像上传至阿里云

一、Alpine介绍 Alpine Linux是一个轻量级的Linux发行版&#xff0c;专注于安全、简单和高效。它采用了一个小巧的内核和基于musl libc的C库&#xff0c;使得它具有出色的性能和资源利用率。 Alpine Linux的主要特点包括&#xff1a; 小巧轻量&#xff1a;Alpine Linux的安装…

Android 自定义SwitchPreference

1. 为SwitchPreference 添加背景&#xff1a;custom_preference_background.xml <?xml version"1.0" encoding"utf-8"?> <selector xmlns:android"http://schemas.android.com/apk/res/android"><item><shape android:s…

计算机视觉动作识别——YOWO用于实时时空动作定位与识别的算法解析

摘要 时空动作定位要求将两种信息源整合到设计的架构中&#xff1a;(1) 来自先前帧的时间信息和(2) 来自关键帧的空间信息。当前的最先进方法通常使用单独的网络提取这些信息&#xff0c;并使用额外的机制进行融合以获得检测结果。YOWO是一个用于视频流中实时时空动作定位的统…

rk3588 安卓调试

rknn装上了android系统&#xff0c;用type-c usb连接上电脑&#xff0c;设备管理器发现了rk3588&#xff0c;但是Android Studio没有发现设备 后来怀疑是驱动没有安装&#xff0c;我用的驱动下载地址&#xff1a; 瑞芯微Rockchip驱动安装助手(适用于RK3308 RK3399等) Mcuzone…

【TensorRT】TensorRT C# API 项目更新 (1):支持动态Bath输入模型推理(下篇)

4. 接口应用 关于该项目的调用方式在上一篇文章中已经进行了详细介绍&#xff0c;具体使用可以参考《最新发布&#xff01;TensorRT C# API &#xff1a;基于C#与TensorRT部署深度学习模型》&#xff0c;下面结合Yolov8-cls模型详细介绍一下更新的接口使用方法。 4.1 创建并配…

Java SpringBoot基于微信小程序的高速公路服务区充电桩在线预定系统,附源码

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…

中国传媒网CEO徐晓艺:第六届世界布商大会启幕 共探全球纺织业转型与合作

日前,2023国际纺织制造商联合会中国绍兴柯桥大会、2023第六届世界布商大会在浙江绍兴柯桥启幕,来自全球55个国家和地区的纺织行业代表围绕“绿色、循环、数字化——纺织工业新动源”主题,共探全球纺织业转型与合作。 “当前,纺织服装行业进入变革期,以数字、绿色为特征的产业变…

华硕ROG幻16笔记本电脑模式切换管理工具完美替代华硕奥创中心管理工具

文章目录 华硕ROG幻16笔记本电脑模式切换管理工具完美替代华硕奥创中心管理工具1. 介绍2. 下载3. 静音模式、平衡模式、增强模式配置4. 配置电源方案与模式切换绑定5. 启动Ghelper控制面板6. 目前支持的设备型号 华硕ROG幻16笔记本电脑模式切换管理工具完美替代华硕奥创中心管理…

Day99:云上攻防-云原生篇K8s安全实战场景攻击Pod污点Taint横向移动容器逃逸

目录 云原生-K8s安全-横向移动-污点Taint 云原生-K8s安全-Kubernetes实战场景 知识点&#xff1a; 1、云原生-K8s安全-横向移动-污点Taint 2、云原生-K8s安全-Kubernetes实战场景 云原生-K8s安全-横向移动-污点Taint 如何判断实战中能否利用污点Taint&#xff1f; 设置污点…

Qt对象池,单例模式,对象池可以存储其他类的对象指针

代码描述&#xff1a; 写了一个类&#xff0c;命名为对象池&#xff08;ObjectPool &#xff09;&#xff0c;里面放个map容器。 3个功能&#xff1a;添加对象&#xff0c;删除对象&#xff0c;查找对象 该类只构建一次&#xff0c;故采用单例模式功能描述&#xff1a;对象池可…

6-pytorch - 网络的保存和提取

前言 我们训练好的网络&#xff0c;怎么保存和提取呢&#xff1f; 总不可以一直不关闭电脑吧&#xff0c;训练到一半&#xff0c;想结束到明天再来训练&#xff0c;这就需要进行网络的保存和提取了。 本文以前面博客3-pytorch搭建一个简单的前馈全连接层网络&#xff08;回归问…

Aurora 协议学习理解与应用——Aurora 64B66B协议学习

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 Aurora 协议学习理解与应用——Aurora 64B66B协议学习 概述数据发送和接收帧传输过程链路层帧描绘64B/66B 编码多lane传输 帧接收过程Control Block Stripping 控制块剥离多l…

武汉星起航:跨境电商新引擎,助力中国品牌全球崛起

在全球贸易体系日益紧密的今天&#xff0c;跨境电商以其独特的优势&#xff0c;正成为外贸发展的新引擎。武汉星起航电子商务有限公司&#xff0c;作为跨境电商领域的佼佼者&#xff0c;凭借其深厚的行业积累和前瞻的战略布局&#xff0c;在推动中国品牌全球崛起方面发挥着重要…

Qt+vstudio2022的报错信息积累

从今天开始记录一下平常开发工作中的报错记录&#xff0c;后续有错误动态补充&#xff01; 报错信息&#xff1a;【MSB8041】此项目需要 MFC 库。从 Visual Studio 安装程序(单个组件选项卡)为正在使用的任何工具集和体系结构安装它们。 解决&#xff1a; 背景&#xff1a;换…

【Blockchain】连接智能合约与现实世界的桥梁Chainlink

去中心化预言机试图实现依赖因果关系而不是个人关系的去信任和确定性结果。它以与区块链网络相同的方式实现这些结果&#xff0c;即在许多网络参与者之间分配信任。通过利用许多不同的数据源并实施不受单个实体控制的预言机系统&#xff0c;去中心化的预言机网络有可能为智能合…

HTML段落标签、换行标签、文本格式化标签与水平线标签

目录 HTML段落标签 HTML换行标签 HTML格式化标签 加粗标签 倾斜标签 删除线标签 下划线标签 HTML水平线标签 HTML段落标签 在网页中&#xff0c;要把文字有条理地显示出来&#xff0c;就需要将这些文字分段显示。在 HTML 标签中&#xff0c;<p>标签用于定义段落…