JAVA学习笔记-----six(面对对象)

一,面对对象
1.面对对象的概述
我们做事情需要一步一步的进行,先要知道我们要做什么,在决定怎么做,最后再去实现这件事情。在这个过程中,我们都有参与每一个过程,要面对每一个过程,这就是我们面对对像的最具体的实现。
2.面对对象的思想特点
(1)是一种更符合我们思想习惯的思想
(2)可以将复杂的事情简单化
(3)将我们从执行者变成了指挥者,角色发生了转换
2,面对对象的特征
封装
继承
多态
3.面对对象开发
就是不断的创建对象,适用对象,指挥对象做事情
4.类
学习Java语言最基本的单位就是类,我们应该把事物用一个类来体现。
由此我们就得到了现实中的事物和类的对应关系:
属性 ----------------- 成员变量
行为 ----------------- 成员方法
定义类就是定义类的成员(成员变量和成员方法)
a:成员变量 和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。
b:成员方法 和以前定义方法是一样的,只不过把static去掉,后面在详细讲解static的作用。
5.类和对象的概念
a:类:是一组相关的属性和行为的集合
b:对象:是该类事物的具体体现
c:举例:
类 学生
对象 班长就是一个对象
案例演示:
A:学生事物:
属性: 姓名 , 年龄 ,
行为: 吃饭 , 睡觉 ,
B:学生事物与学生类的对应关系
属性 ----- 成员变量
行为 ----- 成员方法


public class Student {
    String name = "zx";
    int age;

    public void eat() {
        System.out.println("吃饭");
    }

    public void sleep() {
        System.out.println("睡觉");
    }
}

6.面对对象的基本知识
A:文件名问题:
在一个java文件中写两个类:一个基本的类,一个测试类。
建议:文件名称和测试类名称一致。
B:如何使用呢?
创建对象使用。
C:如何创建对象呢?
格式:类名 对象名 = new 类名();
D:如何使用成员变量呢?
格式:对象名.变量名
E:如何使用成员方法呢?
格式:对象名.方法名(…)
7.成员变量和局部变量的区别
A:在类中的位置不同
成员变量:在类中方法外
局部变量:在方法定义中或者方法声明上(形参)
B:在内存中的位置不同
成员变量:在堆内存
局部变量:在栈内存
C:生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
D:初始化值不同
成员变量:有默认初始化值
局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
注意事项:: 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。
8.方法的形式参数是类名的时候调用
A:Java中参数传递
形式参数:
基本类型:形式参数的改变不影响实际参数
引用类型:形式参数的改变直接影响实际参数
B:方法的参数是类名
如果你看到了一个方法的形式参数是一个类类型(引用类型),这里其实需要的是该类的对象。
9.匿名对象
A:什么是匿名对象?
就是没有名字的对象
B:匿名对象应用场景
a:调用方法,仅仅只调用一次的时候。
b:匿名对象可以作为实际参数传递
二,封装
1.封装概述
是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
2.封装好处
隐藏实现细节,提供公共的访问方式
提高了代码的复用性
提高安全性。
3.封装原则
将不需要对外提供的内容都隐藏起来。
把属性隐藏,提供公共方法对其访问。
4.private关键字的概述
A:private关键字特点
a:是一个权限修饰符
b:可以修饰成员变量和成员方法
c:被其修饰的成员只能在本类中被访问
5.private应用的标准案例
A:private最常见的应用:
(1):把成员变量用private修饰
(2):提供对应的getXxx()和setXxx()方法

public class Student {
    //姓名,语文成绩,数学成绩,英语成绩
    private String name;
    private int chineseScore;
    private int englishScore;
    private int mathScore;
    public Student(String name, int chineseScore, int englishScore, int mathScore) {
        this.name = name;
        this.chineseScore = chineseScore;
        this.englishScore = englishScore;
        this.mathScore = mathScore;
    }

    public String getName() {
        return name;
    }

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

    public int getChineseScore() {
        return chineseScore;
    }

    public void setChineseScore(int chineseScore) {
        this.chineseScore = chineseScore;
    }

    public int getEnglishScore() {
        return englishScore;
    }

    public void setEnglishScore(int englishScore) {
        this.englishScore = englishScore;
    }

    public int getMathScore() {
        return mathScore;
    }

    public void setMathScore(int mathScore) {
        this.mathScore = mathScore;
    }

6.this关键字的概述
A:this关键字特点
是当前类的对象引用。
简单的记,它就代表当前类的一个对象。谁调用这个方法,那么该方法的内部的this就代表谁
B.this的应用场景
例如上面程序中this.name=name;

案例演示:通过面向对象的思想,描述你自己的电脑类.并且使用这个类.

public class TestComputer {
    public static void main(String[] args) {
        Computer computer = new Computer();
        String name = computer.name;
        double size = computer.size;
        double price = computer.price;
        System.out.println("电脑的品牌是:"+computer.name);
        System.out.println("电脑的价格是:"+computer.price);
        System.out.println("电脑的尺寸是:"+computer.size);
        computer.listenMusic();
        computer.PlayGame();
        computer.QiaoDaiMa();
    }
}


class Computer {
    String name="戴尔";
    double size=15.6;
    double price=9999.9;
    public void listenMusic(){ System.out.println("电脑可以听音乐!"); }
    public void PlayGame(){System.out.println("电脑可以打游戏!"); }
    public void QiaoDaiMa(){ System.out.println("电脑可以敲代码!"); }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像识别技术在病虫害检测中的应用是一个快速发展的领域,它结合了计算机视觉和机器学习算法来自动识别和分类植物上的病虫害。以下是这一技术的一些关键步骤和组成部分: 1. **数据收集**:首先需要收集大量的植物图像数据,这些数据包括健康植物的图像以及受不同病虫害影响的植物图像。 2. **图像预处理**:对收集到的图像进行处理,以提高后续分析的准确性。这可能包括调整亮度、对比度、去噪、裁剪、缩放等。 3. **特征提取**:从图像中提取有助于识别病虫害的特征。这些特征可能包括颜色、纹理、形状、边缘等。 4. **模型训练**:使用机器学习算法(如支持向量机、随机森林、卷积神经网络等)来训练模型。训练过程中,算法会学习如何根据提取的特征来识别不同的病虫害。 5. **模型验证和测试**:在独立的测试集上验证模型的性能,以确保其准确性和泛化能力。 6. **部署和应用**:将训练好的模型部署到实际的病虫害检测系统中,可以是移动应用、网页服务或集成到智能农业设备中。 7. **实时监测**:在实际应用中,系统可以实时接收植物图像,并快速给出病虫害的检测结果。 8. **持续学习**:随着时间的推移,系统可以不断学习新的病虫害样本,以提高其识别能力。 9. **用户界面**:为了方便用户使用,通常会有一个用户友好的界面,显示检测结果,并提供进一步的指导或建议。 这项技术的优势在于它可以快速、准确地识别出病虫害,甚至在早期阶段就能发现问题,从而及时采取措施。此外,它还可以减少对化学农药的依赖,支持可持续农业发展。随着技术的不断进步,图像识别在病虫害检测中的应用将越来越广泛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值