Python和Java都是面向对象的语言,而计算机语言和人类的各种自然语言其实是类似的,交流的目标对象不同而已。
既然如此,首先回忆下,各位学习外语,是将母语的词汇与外语的词汇在大脑中做连接,比如读书的时候外语老师要求背诵词汇表。以此类比,那么从Python转Java,也需要一个这样的“ 词汇表 ”以助于我们快速理解两种语言共通的理念,以助于我们快速入门。
- 一、对象
先从对象入手吧,观察下面的例子,对Python类基础熟悉的朋友应该能够Get到下面例子的含义
class Example:
VAR_PUBLIC = "公开的类变量"
_VAR_PROTECTED = "受保护的类变量"
__VAR_PRIVATE = "私有的类变量"
def __init__(self):
self.var_public = "公开的实例变量"
self._var_protected = "受保护的实例变量"
self.__var_private = "私有的实例变量"
class Son(Example):
def __init__(self):
super(Son, self).__init__()
# Example.__init__(self)
print(self.var_public)
print(self._var_protected)
print(self.VAR_PUBLIC)
print(self._VAR_PROTECTED)
# 无法访问/继承 __VAR_PRIVATE 和 __var_private
public class Example {
public static String VAR_PUBLIC = "公开的类变量";
protected static String VAR_PROTECTED = "受保护的类变量";
private static String VAR_PRIVATE = "私有的类变量";
public String var_public = "公开实例变量";
protected String var_protected = "受保护的实例变量";
private String var_private = "受保护的实例变量";
public Example(){
// 类的构造方法
}
}
class Son extends Example{
public Son(){
super();
System.out.println(VAR_PUBLIC);
System.out.println(VAR_PROTECTED);
// System.out.println(VAR_PRIVATE); 无法访问/继承权限
System.out.println(var_public);
System.out.println(var_protected);
// System.out.println(var_private); 无访问/继承权限
}
}
- 二、挖空待填