黑马程序员技术交流社区

标题: 关于 用中文变量名 [打印本页]

作者: heima0503    时间: 2015-5-22 01:18
标题: 关于 用中文变量名
java中,使用 unicode,所以说,英文  与  中文的  变量名 没有任何区别,
即使你使用日文也一样


有人说,中文的变量名 运行慢,需要 解析 中文 的时间, 我认为, 这绝不可能!!!!
英文字母A 占 16个二进制位,
汉字 "中" 也占 16个二进制位,何来 解析一说?
以下,是我的 中文代码

/*                                       
__________________
|<<interface>>  |                 
|    照顾宠物         |                 ____  工人
|  + 喂食     ()       |-------|____  农民
|  + 和它玩 ()            |                |____  国家干部
|_________________|                       
*/
interface 喂食 {
        public String 喂食方式();
}

interface 和它玩 {
        public void 和它玩的方式();
}
class 工人 implements 喂食, 和它玩 {
        String 名字;
        String 获取名字() {
                return 名字;
        }
        工人(String 名字) {
                this.名字 = 名字;
        }
        public String 喂食方式() {
                return 获取名字() + "   工人的喂食方式";
        }
        public void 和它玩的方式() {
                System.out.println(获取名字() + "   工人的玩的方式");
        }
}
class 农民 implements 喂食, 和它玩 {
        String 名字;
        String 获取名字() {
                return 名字;
        }
        农民(String 名字) {
                this.名字 = 名字;
        }
        public String 喂食方式() {
                return 获取名字() + "   农民的喂食方式";
        }
        public void 和它玩的方式() {
                System.out.println(获取名字() + "   农民的玩的方式");
        }
}
class 国家干部 implements 喂食, 和它玩 {
        String 名字;
        String 获取名字() {
                return 名字;
        }
        国家干部(String 名字) {
                this.名字 = 名字;
        }
        public String 喂食方式() {
                return 获取名字() + "   国家干部的喂食方式";
        }
        public void 和它玩的方式() {
                System.out.println(获取名字() + "   国家干部的玩的方式");
        }
}
public class InterfacePat {
        public static void main(String[] args) {
                喂食 g1 = new 工人("工人");
                System.out.println(g1.喂食方式());
                和它玩 g2 = (和它玩) g1;
                g2.和它玩的方式();

                喂食 n1 = new 农民("农民");
                System.out.println(n1.喂食方式());
                和它玩 n2 = (和它玩) n1;
                n2.和它玩的方式();

                喂食 j1 = new 国家干部("国家干部");
                System.out.println(j1.喂食方式());
                和它玩 j2 = (和它玩) j1;
                j2.和它玩的方式();
        }
}


作者: heima0503    时间: 2015-5-23 01:07
这是我的见解
作者: !85684009ex    时间: 2015-5-23 21:46
膜拜!都做到这一步了!
作者: pvbj0314    时间: 2015-5-23 23:20
神奇,居然可以通过编译。在The Java® Language Specification中找到下面这句话
“Letters and digits may be drawn from the entire Unicode character set, which supports most writing scripts in use in the world today, including the large sets for Chinese, Japanese, and Korean. This allows programmers to use identifiers in their programs that are written in their native languages.”
但这与一般编程规范冲突,个人觉得目前知道有这个东西就好了,其实汉字有时也挺麻烦的,Windows上每次编译有汉字的java文件时都要加上-encoding utf-8选项才行(文件是utf-8编码的)。
作者: 白水丶    时间: 2015-5-23 23:47
都看看晕了
作者: niuapp    时间: 2015-5-23 23:56
好有亲切感,
作者: 二大爷    时间: 2015-5-24 00:02
这是不允许的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2