2021-05-21

本文详细介绍了面向对象编程的三大特性:封装、继承和多态。封装强调隐藏类的内部细节,通过公共方法访问属性;构造方法用于初始化对象,JavaBean标准则规定了类的成员变量应私有化并提供getter/setter方法。此外,还探讨了this关键字的作用以及方法重载的概念。
摘要由CSDN通过智能技术生成
面对对象的三大特点

三大特点:封装,继承,多态

封装

原则:将【属性隐藏】起来,如果要访问类中某个属性,提供【共公的访问方法】对其访问

封装的步骤
  • private关键字来修饰成员变量
  • 对需要的访问成员变量,提供getXxx()方法和setXxx()方法
  • 注:get是取值 set是赋值
  • 封装时的权限控制符区别如下在这里插入图片描述
封装的操作

private的含义

  1. private是一个权限1修饰符,代表最小的访问修饰符
  2. 可以修饰成员变量(全局属性),也可以修饰成员方法
  3. 被private修饰的成员变量和成员方法,只能在本类中去访问

private使用格式

privat  数据类型  变量名;

封装的好处

  • 良好的封装能够减少代码的耦合性
  • 类内部的结构可以进行随意更改
  • 可以对成员变量(全局变量)进行更精确的控制
  • 隐藏信息,实现细节

封装优化1_this关键字
我们发现setXxx()方法当中形参名字不符合我们标识符的命名规范—见名知意,如果修改成和成员变量相同的名字,会触发Java程序当中就近原则,会把方法内的变量统统的变成为形参变量,导致赋值失败,我们就可以采用[this]关键字来解决,变量重名的问题。

this的含义

this代表的是所在类的当前对象的引用(地址值),即对象对自己的引用
备注:意识就是方法被那个对象调用,方法中的this指代的就代表的是那个对象,即谁调用,this就是谁

this使用格式
 this 成员变量名

使用this关键字修饰方法当中的成员变量,解决成员变量被隐藏的问题:

public class Man {
    //1.使用privat关键字修饰成员变量
    private String name;
    private  int age;
    //2.提供相应的getXxx()方法和setXxx()方法,
    // 可以访问类中成员变量
    // getXxx()获取类中成员变量信息
    public String getName(){
        return name;
    }
    // setXxx() 设置类中成员变量
    public void setName(String name){
        name = name;
    }
    public int getAge(){
        return  age;
    }
    // setXxx()设置类中成员变量
    public  void setAge(int age){
        
    }
}

封装优化2构造方法
当一个对象被创建的时候,构造方法用来初始化对象,给对象的成员变量附初始值
备注:无论你是否在封装里定义构造方法,当类被定义出来的时候,系统会自动的分配一个构造方法–无参构造方法,一但在类中显示的定义构造方法,Java自动提供默认无参构造就会被自动销毁(被回收)

构造方法的定义格式
修饰符 构造方法名(参数列表){
     //方法内容
}
// 构造方法没有返回值,构造方法名和类名要保持完全一致

注意事项:
1.构造方法的方法名必须要与类名保持完全一致
2.构造方法不用声明返回值类型,连void也不需要
3.构造方法中不能用return返回一个具体的值
4.如果定义类时没有显式的定义构造方法,系统会给一个默认的无参构造方法
5.一旦定义了一个构造方法,那么编译期会回收提供的隐式构造方法
6.构造方法可以重载:方法名相同,参数列表不同

11

1方法的重载
1方法名一样参数列表不一样的方法他们之间叫做重载
2参数列表不同
参数的个数不同
参数的类型不同
参数的顺序不同
标准类—javaBean
javaBean是java语言编写类的
1 所有成员变量都要使用private关键字修饰
2要为每一个成员变量getXxx()和setXxx()方法
3编写一个无参的构造方法
4最好在提供一个全参的构造方法
这样的给标准就叫JavaBean

2

同样具有与java一样的这些基本数据类型,byle short int long float double char boolean
注意 Scala与java有一些不一样的地方Scala定义
的这些基本数据类型 都是类 例如 int
类型 scalaInt类

基本数据类型和变量

有个特殊的地方String类型没有自己的定义类,而是完全使用java里Java,lang,String下的String类

操作符

无论是在那种编程语言当中都有许多的常见操作符、
val i=123
val i=3.34
val i=true
val i=‘A’
val i=“hello”

** a方法 b 等价于 a.方法(b)
前者是后者的简写形式**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2021-03-26 20:54:33,596 - Model - INFO - Epoch 1 (1/200): 2021-03-26 20:57:40,380 - Model - INFO - Train Instance Accuracy: 0.571037 2021-03-26 20:58:16,623 - Model - INFO - Test Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Best Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Save model... 2021-03-26 20:58:16,623 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 20:58:16,698 - Model - INFO - Epoch 2 (2/200): 2021-03-26 21:01:26,685 - Model - INFO - Train Instance Accuracy: 0.727947 2021-03-26 21:02:03,642 - Model - INFO - Test Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Best Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Save model... 2021-03-26 21:02:03,643 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 21:02:03,746 - Model - INFO - Epoch 3 (3/200): 2021-03-26 21:05:15,349 - Model - INFO - Train Instance Accuracy: 0.781606 2021-03-26 21:05:51,538 - Model - INFO - Test Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,538 - Model - INFO - Best Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,539 - Model - INFO - Save model... 2021-03-26 21:05:51,539 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 我有类似于这样的一段txt文件,请你帮我写一段代码来可视化这些训练结果
02-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值