我的JAVA学习之路(综合)

来源:互联网 发布:机器人视觉算法 编辑:程序博客网 时间:2024/05/16 10:54

 2009-06-29

 

  1 Q:java内部类有啥好处啊?为什么要有内部类?

     A:内部类是java很重要的组成部分 没有的话很多功能就不能实现,说个典型的就是GUI上注册按键.1个内部类注册1个..按键

     A:可以给人简化很多操作,比如,文件复制,它给你的方法写好了,你就不用自己去写操作一个一个字节的代码了。

     A:内部类如果你写过socket的话就会发现用内部类是最好的,因为socket要一直保持打开才状态,如果在另一个类中调用的话是很难做到的

          至于匿名类现在用的很少了,如果以前的话做AWT在关闭窗口的时候就要用到匿名类,不过如果用swing的话已经给你封装好了就用不着你自己来弄这个了

      A:用内部类是为了更好的封装代码   因为内部类可以作为外部类的成员
           java GUI开发时 在处理时间时经常用到匿名类

      A: 一般用监听的时候会用到匿名类,比较方便,反正就用一次.  内部类就是和外部类关系比较大,所以逻辑性比较强

      A:内部类和匿名类有一个特点 就是他们能访问外围类的所有成员 包括私有的
         所以你可以使用内部类给外部提供一些访问外围类私有成员的功能接口
         这个通常会在设计层面上用的多 没有太一般的情况给你说什么时候用 需要的时候就会用了

 

 2 Q:GUI 是什么?

    A:图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户介面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。

 

3 Q:什么是MVC?

   A: 大体为表示层,逻辑层,数据层

  A:用struts来做把,挺好的,模型层的话一般就是一些业务逻辑状态(包括数据库的访问,封装字段),控制层是action,处理和转发请求,视图是jsp,作为显示
你导入struts框架的包,就ok了嘛。

 

4:Q: JAVA相关的包的解释

         import java.awt.*;
         import javax.swing.*;
         import java.awt.event.*;

    A:   java.awt包:构建图形用户界面(GUI)的类库,低级绘图操作Graphics类,图形界面组件和布局管理如 Checkbox类、Container类、LayoutManger接口等,以及界面用户交互控制和事件响应,如Event类

          java.awt.event包:GUI事件处理包。

          javax.swing包 :提供了创建图形用户界面元素的类。通过这些元素,编程者可以控制所写的Applet或应用程序的外观界面。该包中包含定义窗口,对话框,按钮,复选框,列表,菜单,滚动条及文本域的类。

 

 5 Q:谁能帮我解释一下JAVA 中定义类变量和类方法有什么用处?

    A:这是个典型的面向对象的问题。
首先我们用一个Person类来举例。有一个Person类,这么个结构:
public void Person(){
priate String name="小强";//定义类变量
pribate String age="15虽";

public void playFootBall(){//定义类方法
}
.....其他方法,比如Setter和Getter方法
}
我们有这个类后,就可以创建一个对他的引用。

比如: Person personOne = new Person();
Person personTwo = new Person();

现在出现了两个Person对象,那么这两个对象都有name和age属性,playFootBall方法。但是,personOne 和personTow 虽然都叫小强,都是15岁,但是他俩可不是一个人!绝对不是!可能一个在北京,一个在吉林!他们都有playFootBall()方法,但是这个方法的引用是因人而异的。比如他们是两个人自身的爱好。你可以你这个方法加上你的动作。然后保存的时候每个不同的对象就有不同的动作了。
调用的时候: personOne.playFootBall(),你可以制定一个返回类型。

通俗的讲,
JAVA 中定义类变量和类方法有什么用处就是创建不同的对象,去保存不同的值,实现不同的功能(方法)。

 

6:Q:在Java语言中静态Static主要用在什么方面?不用静态很多也能实现,它的好处是什么?

   A:static主要作用两个:
     1.用于表示所有实例都有相同的属性
     2.java中没有全局变量,需要用到的时候可用一个静态类实现

7:Q:网络编程为什么要用JAVA语言,好处是什么?

  A:JAVA是一门面向过程编程思想的语言,也是一门跨平台的语言,几乎在所有的操作系统都可以运行。他的面向过程使得程序编写更容易模块化,更加适用于分工、合作。

8:请问在哪里可以下载java api 包 各种类的功能解释呀?

   A:Java api包不用下啊,j2sdk的lib文件夹下面已经有了

      j2sdk:http://dlc.sun.com/jdk/jdk-1_5_0_01-windows-i586-p.exe

   A:http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/      自己查API是好习惯

 

9:JAVA内部匿名类中的语句块问题

   package net.chapter1;
abstract class Base{
public Base(int i){
  System.out.println("Base Constructor! "+i);
}

public abstract void f();
}
public class AnonymousConstructor {
public static Base getBase(int i){
  return new Base(i){
  
   {System.out.println("内部初始化");}
   public void f(){
    System.out.println("内部f()");
   }
  };
}
public static void main(String[] args){
  Base base=getBase(47);
  base.f();
}
}


{System.out.println("内部初始化");}这句为什么要用括号呢?是什么作用啊?

这个程序是按什么步骤运行的呢?

运行结果:
Base Constructor! 47
内部初始化
内部f()

问题补充:
{System.out.println("内部初始化");}大括号去掉就不能通过编译了
A: 在一个类中,要想将一个语句不放在方法里,要单独执行就得加{} 不一定要在内置类中, class abc{ int a=1; { for(int i=1;i<10;i++){ System.out.println("sdfsdf"); } } } 只要你一new这个类,它一要执行 补充: 当然不能通过编译,因为语句得写在语句块里面,这是java的语法要求,方法就是一个语句块,或者加{},它也是个语句块,只有属性才能直接写在里面,而语句就得写在语句块里 

 10:什么是b/s结构?

   B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。

 

 

 

 

 

 

原创粉丝点击