黑马程序员_Java学习日记num4

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
学习内容: 面向对象概述;封装;构造函数于构造代码块;this关键字;其他的一些知识点
 
一、面向对象的概述
 
1,面向过程与面向对象
面向过程强调的是功能的行为,面向对象是在面向过程的基础上,强调的是一个对象具有的功能,面向对象是建立在面向过程的基础之上的。
 
2,类与对象的区别
类是对现实中事物的描述,描述事物具有的属性,具备的什么样的功能。例如:对人的描述,人具备姓名,年龄,头发的颜色,性别,爱好等共同属性,以及具备吃饭,睡觉等共同功能
 
对象是现实生活中实实在在存在的个体。例如:一个叫张三的人,有年龄姓名性别,能吃饭睡觉,另外还有一个叫李四的人,也有自己的姓名年龄性别等。
 
二、封装(encapsulation)
1,封装概念
封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。也就是说,我给你提供你使用的方式,你不必管他是怎么实现的,你只管用就行了 。
2,封装原则
A,将不需要对外提供的内容都隐藏起来
B,把属性都隐藏,提供公共方法对其访问
3,private关键字
private中文意思是私有,她是一个权限修饰符,用于修饰类中的成员(成员变量和成员函数),被私有修饰的成员,只在本类中有效。
要特别注意的是:封装不是私有,私有仅仅是封装的一种常见的表现形式 。封装不等于私有。函数,类,包也是封装的表现形式。
三、构造函数与构造代码块
 
1、构造函数的特点
A,构造函数和类名一样
B,构造函数没有返回值类型
C,构造函数中没有return语句
 
2,构造函数的作用
构造函数是用于给对应的构造函数进行初始化的,当通过new操作符创建对象时,根据传入构造函数中的参数不同,调用与之对应的构造函数进行初始化
 
3,构造函数与一般函数的区别
A,构造函数用于给相对应的对象进行初始化。一般函数用于实现对象的某个特定功能。
B,构造函数在对象建立时执行并且只执行一次。一般函数可以被对象多次调用
C,他们的写法上也有很大的不同
 
4、构造函数的注意事项
  当一个类中没有手动定义个一个构造函数时,为了创建该类的对象,系统会默认的给该类添加一个空参数的默认构造函数;当一个类中自定义了构造函数时,系统就不会给改类添加默认的空参数的构造函数了,若在建立对象的过程中,还需要空参数的构造函数,那么就需要自定义这个空参数的构造函数了;一个类中可以存在多个构造函数,建立对象,改调用哪个构造函数,是通过构造函数的重载实现的。
5,构造代码块
    1)格式:{ 构造代码块的初始化内容 }
    2)作用:给所有对象进行初始化,构造代码代码块中存放的是该类对象的共性初始化内容。当对象一建立就运行,而且优先于构造函数运行。
     
四、this关键字
 
1,this关键字的作用?
    this关键字用于区分局部变量和成员变量,还用于类中构造函数之间的相互调用。类中构造函数相互调用时,this语句必须放在第一行。
 
2,this关键字的含义
    this代表所在类的对象,具体哪一个呢?就是代表他所在函数所属对象的引用。简单的说:哪个对象调用this所在的函数,this就代表哪个对象。
 
3,this关键字的应用
    当定义类中功能时,该函数内部要用到调用该函数的对象时,这时候用this来表示这个对象。但凡本类中使用到本类对象就使用this
 
五、其他的一些知识点
 
1,成员变量和局部变量的不同
成员变量定义在类中,作用范围是整个类,她存放于堆内存中。
局部变量定义在函数中或者语句中,作用范围就是所在的函数或所在的语句,她存放于栈内存中
2,匿名对象的使用
当对象只需要使用一次的时候,可以定义一个匿名对象
匿名对象还可以作为函数的实际参数传递过去。

转载于:https://www.cnblogs.com/Rebecca-gg/p/4462636.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java BigDecimal是Java中用于高精度计算的类。它允许我们进行任意精度的数字计算,而不会出现舍入误差。 在Java中,基本数据类型(如int、double等)的计算是有限制的。例如,double类型只能存储15位有效数字,而且在计算过程中可能会出现舍入误差。这在需要精确计算的场合下是不可接受的,这就需要使用BigDecimal类。 以下是一些Java BigDecimal的常用方法: 1. 实例化BigDecimal对象 可以使用BigDecimal的构造函数来实例化一个对象,例如: ``` BigDecimal num1 = new BigDecimal("1234.5678"); BigDecimal num2 = new BigDecimal(9876.5432); ``` 2. 加法、减法、乘法和除法 可以使用add()、subtract()、multiply()和divide()方法进行加、减、乘和除运算,例如: ``` BigDecimal result1 = num1.add(num2); BigDecimal result2 = num1.subtract(num2); BigDecimal result3 = num1.multiply(num2); BigDecimal result4 = num1.divide(num2, 2, RoundingMode.HALF_UP); // 保留两位小数 ``` 3. 取反、取绝对值、取反余弦等 可以使用negate()、abs()、acos()等方法进行相应的计算,例如: ``` BigDecimal result5 = num1.negate(); // 取反 BigDecimal result6 = num1.abs(); // 取绝对值 BigDecimal result7 = new BigDecimal(Math.PI).acos(); // 取反余弦 ``` 4. 比较大小 可以使用compareTo()方法进行大小比较,例如: ``` int cmp = num1.compareTo(num2); if (cmp > 0) { System.out.println("num1 > num2"); } else if (cmp < 0) { System.out.println("num1 < num2"); } else { System.out.println("num1 = num2"); } ``` 以上是Java BigDecimal的一些常用方法,使用BigDecimal类可以很方便地进行高精度计算。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值