上市集团网站建设,公司怎么做网站,百度的企业网站,网站seo策划1、面向对象的特征有哪些方面?答#xff1a;面向对象的特征主要有以下几个方面#xff1a;1)抽象#xff1a;抽象是将一类对象的共同特征总结出来构造类的过程#xff0c;包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为#xff0c;并不关注这些行为的细节…1、面向对象的特征有哪些方面?答面向对象的特征主要有以下几个方面1)抽象抽象是将一类对象的共同特征总结出来构造类的过程包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为并不关注这些行为的细节是什么。2)继承继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类超类、基类得到继承信息的类被称为子类派生类。继承让变化中的软件系统有了一定的延续性同时继承也是封装程序中可变因素的重要手段如果不能理解请阅读阎宏博士的《Java与模式》或《设计模式精解》中关于桥梁模式的部分。3)封装通常认为封装是把数据和操作数据的方法绑定起来对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装我们编写一个类就是对数据和数据操作的封装。可以说封装就是隐藏一切可隐藏的东西只向外界提供最简单的编程接口可以想想普通洗衣机和全自动洗衣机的差别明显全自动洗衣机封装更好因此操作起来更简单我们现在使用的智能手机也是封装得足够好的因为几个按键就搞定了所有的事情。4)多态性多态性是指允许不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。多态性分为编译时的多态性和运行时的多态性。如果将对象的方法视为对象向外界提供的服务那么运行时的多态性可以解释为当A系统访问B系统提供的服务时B系统有多种提供服务的方式但一切对A系统来说都是透明的就像电动剃须刀是A系统它的供电系统是B系统B系统可以使用电池供电或者用交流电甚至还有可能是太阳能A系统只会通过B类对象调用供电的方法但并不知道供电系统的底层实现是什么究竟通过何种方式获得了动力。方法重载overload实现的是编译时的多态性也称为前绑定而方法重写override实现的是运行时的多态性也称为后绑定。运行时的多态是面向对象最精髓的东西要实现多态需要做两件事1. 方法重写子类继承父类并重写父类中已有的或抽象的方法2. 对象造型用父类型引用引用子类型对象这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为。 2、访问修饰符public,private,protected,以及不写默认时的区别答区别如下作用域 当前类 同包 子类 其他public √ √ √ √protected √ √ √ ×default √ √ × ×private √ × × ×类的成员不写访问修饰时默认为default。默认对于同一个包中的其他类相当于公开public对于不是同一个包中的其他类相当于私有private。受保护protected对子类相当于公开对不是同一包中的没有父子关系的类相当于私有。3、String 是最基本的数据类型吗?答不是。Java中的基本数据类型只有8个byte、short、int、long、float、double、char、boolean除了基本类型primitive type和枚举类型enumeration type剩下的都是引用类型reference type。4、float f3.4;是否正确?答:不正确。3.4是双精度数将双精度型double赋值给浮点型float属于下转型down-casting也称为窄化会造成精度损失因此需要强制类型转换float f (float)3.4; 或者写成float f 3.4F;。5、short s1 1; s1 s1 1;有错吗?short s1 1; s1 1;有错吗?答对于short s1 1; s1 s1 1;由于1是int类型因此s11运算结果也是int 型需要强制转换类型才能赋值给short型。而short s1 1; s1 1;可以正确编译因为s1 1;相当于s1 (short)(s1 1);其中有隐含的强制类型转换。 6、Java 有没有goto?答goto 是Java中的保留字在目前版本的Java中没有使用。根据James GoslingJava之父编写的《The Java Programming Language》一书的附录中给出了一个Java关键字列表其中有goto和const但是这两个是目前无法使用的关键字因此有些地方将其称之为保留字其实保留字这个词应该有更广泛的意义因为熟悉C语言的程序员都知道在系统类库中使用过的有特殊意义的单词或单词的组合都被视为保留字。7、swtich 是否能作用在byte上是否能作用在long 上是否能作用在String上?答早期的JDK中switchexpr中expr可以是byte、short、char、int。从1.5版开始Java中引入了枚举类型enumexpr也可以是枚举从JDK 1.7版开始还可以是字符串String。长整型long是不可以的。8、和的区别答运算符有两种用法(1)按位与(2)逻辑与。运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的虽然二者都要求运算符左右两端的布尔值都是true整个表达式的值才是true。之所以称为短路运算是因为如果左边的表达式的值是false右边的表达式会被直接短路掉不会进行运算。很多时候我们可能都需要用而不是例如在验证用户登录时判定用户名不是null而且不是空字符串应当写为username ! null !username.equals(“”)二者的顺序不能交换更不能用运算符因为第一个条件如果不成立根本不能进行字符串的equals比较否则会产生NullPointerException异常。注意逻辑或运算符|和短路或运算符||的差别也是如此。补充如果你熟悉JavaScript那你可能更能感受到短路运算的强大想成为JavaScript的高手就先从玩转短路运算开始吧。9、解释内存中的栈stack、堆(heap)和静态存储区的用法。答通常我们定义一个基本数据类型的变量一个对象的引用还有就是函数调用的现场保存都使用内存中的栈空间而通过new关键字和构造器创建的对象放在堆空间程序中的字面量literal如直接书写的100、“hello”和常量都是放在静态存储区中。栈空间操作最快但是也很小通常大量的对象都是放在堆空间整个内存包括硬盘上的虚拟内存都可以被当成堆空间来使用。String str new String(“hello”);上面的语句中str放在栈上用new创建出来的字符串对象放在堆上而“hello”这个字面量放在静态存储区。补充较新版本的Java中使用了一项叫“逃逸分析“的技术可以将一些局部对象放在栈上以提升对象的操作性能。 10、Math.round(11.5) 等于多少? Math.round(-11.5)等于多少?答Math.round(11.5)的返回值是12Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加0.5然后进行下取整。