Java学习 D2 Java类的基本知识

文章目录

  • 1、Java类的声明
  • 2、Java类的成员属性和成员方法
    • 1 成员属性
    • 2 成员方法

我用的软件是IDEA 2019。JDK版本 12.0.1 。
2020-01-07
我有C++基础,这基本算是第一次系统地学习Java,想开个专栏记录自己的java学习过程。类比于C/C++的学习。目前个人感觉C/C++更容易上手,Java的基本概念也是和C++类比理解的。

1、Java类的声明

C++类的类型有三种,public、private和protected。我目前所知道的合法的Java类声明可以如下:

public class Test1 {
     
}//public类,一个java文件中最多只能有一个,且这个类的名字必须和文件名一致

class Test2 {
     
}//没有public关键字

private class Test3{
     
}//private关键字,私有类

2、Java类的成员属性和成员方法

1 成员属性

如果说是数据成员,对我来说比较好理解,这在C++类中也有相似的感念,但是Java似乎将其称之为属性,并且这之中还有区分,分为对象属性类属性
对象属性:值是跟随对象的,可以通过某一个对象来修改其中的值,值只在这个对象中改变了;可以通过 对象名.类属性 的方法来访问。
类属性:值是跟随类的,有两种访问方法,一种是通过 对象名.类属性 的方法,另一种是通过类名.类属性 的方法访问。为了区别于对象属性,采用第二种方式似乎更好。
注意:如果是类中的成员方法访问同一个类中的属性,静态成员方法不能直接引用非静态的属性,可以直接引用静态的属性(类属性)。非静态方法则两种都可以直接使用。
如果是多个类之间互相调用,其他类的方法不能访问某个类中的private属性。不写访问权限关键字的,可以通过对象来直接访问。
Java学习 D2 Java类的基本知识_第1张图片
Java学习 D2 Java类的基本知识_第2张图片
在HelloWorld中可以看到,修改了cos_f中的ls之后,cos_s中的ls的值也发生了改变,这说明ls是和对象无关的,是一个和类绑定的属性。 而y的输出两者不同,说明y是一个和对象绑定的属性,不同的对象可以拥有不同的y值。
另外如果将ClassTest中第4、5行中的public改成private,和C++的情况是类似的,private属性只在本类中可见,其他类中是不能访问的,ClassTest会报错无法编译。
类属性采用static关键字声明。

2 成员方法

刚刚已经介绍了一部分成员方法的知识。

今天暂时先到这里,正在处于复习数字电路的时期。
待学习了有关Git的知识后,我会做一个总结,并将代码上传到GitHub上。

你可能感兴趣的:(Java学习,Java)