java总结3

目录

MVC

CSS

css简介

java语法基础

Scanner类

 创建Scanner类的基本语法:

next() 与 nextLine() 区别

继承

类的继承格式

继承的特性

重写

重写规则

重载

正确示范

错误示范

重载和重写的区别


MVC

MVC 模式(Model–view–controller)是软件工程中的一种软件架构模式,它把软件系统分为三个基本部分:模型(Model)视图(View)控制器(Controller)

  • 模型(Model):程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能);
  • 控制器(Controller):负责转发请求,对请求进行处理;
  • 视图(View):界面设计人员进行图形界面设计。

优点:低耦合、重用性高、生命周期成本低(MVC模式使开发和维护用户接口的技术含量降低。)、部署快、有利于软件工程化管理

缺点:没有明确的定义(MVC内部原理比较复杂,想要完全理解蛮难)、不适合中小型应用程序(应用MVC模式到中小型程序得不偿失)、增加系统结构和实现的复杂性、视图对模型数据的低效率访问

CSS

css简介

css是层叠样式表(Cascading Style Sheets)的简称,是一种标记语言

主要用于设计

  • 页面中的文本内容(字体大小、对齐方式)
  • 图片的外形(宽高、边框)
  • 版面的布局和外观显示样式

最大的价值:由html专注做结构、样式交给css

组成部分:选择器和修改样式 

选择器{
    属性:属性值;
    属性:属性值;
    ...
}

 css选择器的作用

        根据不同需求把不同标签选出来

选择器分为两大类

  • 基础选择器:标签选择器、类选择器、ID选择器、通用选择器
  • 复合选择器:后代选择器、交集选择器、并集选择器、序选择器、下一个兄弟选择器...

标签选择器: (html的)标签 {}

div {
            width: 100px;
            height: 100px;
            background-color: cyan;
        }

类选择器:.class {}

.cyan {
            width: 100px;
            height: 100px;
            background-color: cyan;
        }

 ID选择器:#id {}

#id {
            color: red;
        }

java语法基础

变量

常量

用final定义一个常量

final type varName = value;//格式

final int a = 1000;//样例

Scanner类

 创建Scanner类的基本语法:

Scanner scan = new Scanner(System.in);

想要输入的是什么类型,就nextXxx,比如想输入int型

float、double型都如此

Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        System.out.println(a);

通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要使用 hasNext 与 hasNextLine 判断是否还有输入的数据:

 Scanner scan = new Scanner(System.in);
        System.out.println("请输入你的姓名");
        String name = scan.nextLine();
        //接收一个字符串,可以有除Enter以外的所有符号
        System.out.println("请输入你的ID");
        String ID;
        while(scan.hasNextLine()){
            if(scan.hasNextInt()){
                ID = scan.nextLine();
                System.out.println("你输入的名字为"+name);
                System.out.println("你输入的ID为"+ID);
                break;
            }
            else{
                System.out.println("请输入数字哦!");
                ID = scan.nextLine();
                continue;
            }
        }

 运行结果是:

请输入你的姓名
小菜鸟
请输入你的ID
sajkbcjasc
请输入数字哦!
432423425
你输入的名字为小菜鸟
你输入的ID为432423425

Process finished with exit code 0

next() 与 nextLine() 区别

next():

  • 1、一定要读取到有效字符后才可以结束输入。
  • 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。(不可以获得空白
  • 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  • next() 不能得到带有空格的字符串

nextLine():

  • 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
  • 2、可以获得空白

继承

为什么要继承?

很多东西会具有相同的特性,比如说猫是动物,狗是动物,猫会跑会叫,毛茸茸的,有尖尖的耳朵,狗也拥有我说的这些特性,如果用要求你写一段代码陈述猫的特点,写一段狗的特点,你写了就会发现这两段代码会有很多相似之处,但是又不能删减,这样就会使得你的代码特别长,臃肿,这个时候就可以写一个animals特点的类,然后猫、狗继承这个类,再根据猫和狗不同于你写的anmals类写一写其他的属于它们的特征

继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

类的继承格式

class 父类 {
}
 
class 子类 extends 父类 {
}

 举个例子

class Person {
    private String name;
    private int age;

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return this.age;
    }
}

class Student extends Person{// Student类继承了Person类
    private String school;

    public void setSchool(String school){
        this.school = school;
    }
    public String getSchool(){
        return this.school;
    }
}

public class ArrayText {
    public static void main(String args[]) {
        Student stu = new Student();
        stu.setName("小菜鸟");
        stu.setSchool("吉首大学");
        System.out.println("姓名:" + stu.getName() + ",学校:" +stu.getSchool());
    }
}

继承的特性

  • 子类拥有父类非 private 的属性、方法。

  • 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展

  • 子类可以用自己的方式实现父类的方法。

  • Java 的继承是单继承,可以是多重继承

    • 单继承就是一个子类只能继承一个父类

    • 多重继承就是, B 类继承 A 类,C 类继承 B 类

  • 提高了类之间的耦合性

    • (继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。

继承的限制

一个子类只能继承一个父亲

重写

什么是重写?

在java中方法的重写是建立在继承的基础之上的,没有继承性也就不能谈方法的重写。

方法的重写是当程序中父类的某一个方法并不能满足子类的需求时,子类可以重新定义该方法的内容与功能来满足子类的需求的一种操作。返回值和形参都不能改变。即外壳不变,核心重写!

重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。

重写规则

  •  访问修饰符的限制一定要不小于被重写方法的访问修饰符
  • 参数列表必须与被重写方法的相同
  • 返回类型必须与被重写方法的返回类型相同
    • //int 和long 不符合、void 和 int不符合
  • 重写方法不能抛出新的异常或者比被重写方法声明的检查异常更广的检查异常
  • final、static方法不能被重写   //可以被继承,不能被重写
  • 如果一个方法不可以被继承,则不能重写它   //private
class animals{
    public void move(){
        System.out.println("动物可以移动");
    }
}

class cat extends animals{
    public void move(){
        System.out.println("猫可以跑和走");
    }
}

public class Text{
    public static void main(String[] args) {
        animals a = new animals();
        animals b = new cat();

        a.move();
        b.move();
    }
}

 执行结果

猫可以跑和走

Super 关键字的使用

当需要在子类中调用父类的被重写方法时,要使用 super 关键字

class cat extends animals{
    public void move(){
        super.move();
        System.out.println("猫可以跑和走");
    }
}

public class Text{
    public static void main(String[] args) {
        animals b = new cat();
        b.move();
    }
}

执行结果
动物可以移动
猫可以跑和走

重载

 方法重载是一项功能,在同一个类或者一个子类里面,可以有多个具有相同名称的方法参数一定要不相同,函数返回类型可以相同可以不同)

这个类里面不能有一模一样(返回类型、参数列表)的方法,也就是说,每一个被重载的方法都必须有独一无二的参数列表

被重载的方法可以改变修饰符、参数列表、返回类型

正确示范

改变了参数顺序

 public String test(int a,String s){
        return "overloading";
    }
    public String test(String s,int a){
        return "overloading";
    }

 (改变了参数列表的数量

 public String test(int a,String s){
        return "overloading";
    }
    public String test(int a,float b,String s){
        return "overloading";
    }

错误示范

只改变了返回类型,参数列表没有改变,编译时会报错

public String test(int a,String s){
        return "overloading";
    }
    public int test(int a,String s){
        return 1;
    }

重载和重写的区别

简单地说,重写必须在继承的前提下,改变父类方法的核心,外壳子(返回类型、类名、参数列表)不变

而重载是在同一个类或者一个子类里,有相同的方法名称,其他的(修饰符、返回类型、参数列表、内容)都可以改变,其中,参数列表必须改变

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧农业是一种结合了现代信息技术,包括物联网、大数据、云计算等,对农业生产过程进行智能化管理和监控的新模式。它通过各种传感器和设备采集农业生产中的关键数据,如大气、土壤和水质参数,以及生物生长状态等,实现远程诊断和精准调控。智慧农业的核心价值在于提高农业生产效率,保障食品安全,实现资源的可持续利用,并为农业产业的转型升级提供支持。 智慧农业的实现依赖于多个子系统,包括但不限于设施蔬菜精细化种植管理系统、农业技术资料库、数据采集系统、防伪防串货系统、食品安全与质量追溯系统、应急追溯系统、灾情疫情防控系统、农业工作管理系统、远程诊断系统、监控中心、环境监测系统、智能环境控制系统等。这些系统共同构成了一个综合的信息管理和服务平台,使得农业生产者能够基于数据做出更加科学的决策。 数据采集是智慧农业的基础。通过手工录入、传感器自动采集、移动端录入、条码/RFID扫描录入、拍照录入以及GPS和遥感技术等多种方式,智慧农业系统能够全面收集农业生产过程中的各种数据。这些数据不仅包括环境参数,还涵盖了生长状态、加工保存、检验检疫等环节,为农业生产提供了全面的数据支持。 智慧农业的应用前景广阔,它不仅能够提升农业生产的管理水平,还能够通过各种应用系统,如库房管理、无公害监控、物资管理、成本控制等,为农业生产者提供全面的服务。此外,智慧农业还能够支持政府监管,通过发病报告、投入品报告、死亡报告等,加强农业产品的安全管理和质量控制。 面对智慧农业的建设和发展,存在一些挑战,如投资成本高、生产过程标准化难度大、数据采集和监测的技术难题等。为了克服这些挑战,需要政府、企业和相关机构的共同努力,通过政策支持、技术创新和教育培训等手段,推动智慧农业的健康发展。智慧农业的建设需要明确建设目的,选择合适的系统模块,并制定合理的设备布署方案,以实现农业生产的智能化、精准化和高效化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值