java之面向对象
省去中间一大堆基本数据类型和一些程序结构(循环,分支,选择结构)......这些都不会还学编程(开个玩笑哈)
我们进入到Java的最重要的思想就是面向对象部分。
- 封装(最明显的就是将具体实现和具体数据部分隐藏,提供一个接口供使用)
- 继承(相对于c++最明显的变化就是取消了多继承,这就真的少了好多好多问题啊,完全就不需要考虑到什么函数对什么函数的隐藏问题)
- 多态(重载,扩展父类等都体现着多态)
对于封装,继承,多态的作用我就不多多赘述了,网上一大堆博主写的都比我清楚,所以可以去看看他们的文章。
(以上一大堆废话省略.......进入正题)
学习概要:
1.说明一下那个标准类的制作,就是对数据部分采取private修饰符修饰,也就是只有类内的成员函数可以访问,所以我们提供getxx()和setxx()方法。
2.学会查看API文档,这是必须要学会的,我们可以尝试去jdk汉化版的文档去查看,获取我们所需要的类对象等等,具体操作步骤(还没写),但大概过程就是索引找到我们所需要的类,进入该类查看各种函数,最重要的是看返回值,参数类型,函数作用,这样基本就可以掌握该函数的使用方法,再进阶一点就是学会看异常,什么情况下会抛出异常,当然现在谈异常还是早了。
3.关于API文档这里再提一点:就是java.lang包下的类不需要导包,java.util下的类需要导包。
3.学习string类之后,首先string有个类叫做length(),是不是很熟悉,有没有联想到数组也有这么个操作,arr.length,不过就是没有括号,就是因为数组不是一个类。
4.除了基本数据类型外,其他的数据类型都是引用数据类型。
本次学习细节:
1.==号比较的是两个引用类型的地址,如果地址一样就返回true,不一样就返回false。想要比较两个对象是否相等,我们需要用到一个函数叫equals(object),通过字符串对象来调用。
2.对于字符常量,开辟之后会放在字符串常量池中,不会一直创建的。
1 public class tsst {
2 public static void main(String[] args) {
3 String s1="123";
4 String s2="123";
5 System.out.println(s1==s2);
6 }
7 }
以上代码输出结果是true,这里就关系到堆内存和栈内存了,字符串池是在堆内存中的,其实就是说明s1和s2的内存地址是相等的。(是不是很神奇啊)
今天就更新这么多了拜拜。
(欢迎指正!!!!!!)
浙公网安备 33010602011771号