Java中类的理解

来源:互联网 发布:手机壁纸知乎 编辑:程序博客网 时间:2024/05/28 23:11

什么是Java的类、对象、方法

类是具备某些共同特征的实体的集合,它是一种抽象的概念。它是创建对象的模板,创建对象也叫类的实例化。


就比如:“妹子”是一个类,她是具有一类共同特征的人的集合,而对象必须要从类中实例化,就像如果你有女朋友,那你就相当于从“妹子”中实例化了一个对象,这样你才可以进行某些操作(●ˇ∀ˇ●)。如果你没有女朋友,就相当于对象没有被创建,那你当然就啥都不能干了~( ̄▽ ̄)~*。

对象的创建:类名 对象名=new 类名();

HtmlPage page=new HtmlPage();

就是通过new一个HtmlPage类名,得到page这个对象,而这个对象就是HtmlPage类型的。

方法就相当于是可以对对象进行的操作

还是上面那个例子,类已经实例化了以后,你就有女朋友了,可是你总要干点什么事情啊,不能总傻傻的站那吧。下面你就会有许多的选择,比如 买衣服、买化妆品、买鞋、买包包…… (╯▽╰ ) 有非常多方法供你选择,然后你就可以调用这些方法产生不同的效果。方法的调用在程序中使用“.”(点操作符)来完成。

例子的讲解

首先是我们需要用到的HtmlPage文件,其中我们能使用的方法如下:

page.setTitle(String pTitle)
page.setBackgroundImage(String imageName)
page.setBackgroundColor(String colorValue)
page.addText(String textString)
page.buildHtml()

下面先来看一下HtmlPage源码,部分内容顺序不一样,但不影响程序

    private String pageTitle;    private String pageBody;    private String bgImage;    private String bgColor;

在类中定义了四个private变量,只能在该类中访问。

    public HtmlPage() {        pageTitle = "";        pageBody = "";        bgImage = "";        bgColor = "";    }

定义了该类的构造函数,用来实例化对象

    public void setTitle(String pTitle) {        pageTitle = pTitle;    }    public void setBackgroundImage(String imageName) {        bgImage = imageName;    }    public void setBackgroundColor(String colorValue) {        bgColor = colorValue;    }    public void addText(String textString) {        pageBody = pageBody + textString;    }

上面这四个方法,是我们需要调用以后传值进去的(再强调一遍调用的方法! 在对象上使用点操作符调用!例如:page.setTitle(“MyPage”);),其中前三个方法是专门为了给三个private变量赋值的,括号内的变量是调用函数传入的。pageTitle = pTitle;这句话就是把pTitle(传入的值)赋值给pageTitle(前面定义过的private变量),此时pageTitle就不再为空,后两个也是同一个道理。最后一个方法有所变化,addText方法是在pageBody变量里追加传入的值,而不会覆盖存在的内容。

    private String getDoctype() {        return ("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>");    }    private String getHeader() {        return ("<HTML><HEAD><TITLE>" + pageTitle + "</TITLE></HEAD>");    }    private String getBody() {        return (            "<BODY background='"                + bgImage                + "' bgcolor='"                + bgColor                + "'>"                + pageBody                + "</BODY>");    }    private String getFooter() {        return ("</HTML>");    }

这四个方法都是private的,所以不能从外部调用。他们的作用只是对已经存在的变量做处理。比如getHeader这个函数,只是把上文的pageTitle这个变量前后加上所需的标签而已,而像getDoctype,它不做任何处理,只是调用时返回一句话。那为什么要写这么多函数就输出几句话呢?为什么不直接写到同一个函数中呢? 从语法上讲,这两种写法都是完全正确的,你当然可以只写一个方法把所有内容加到一起。不过这样就会降低代码的可读性。分开写时,每个方法取的名字一般都代表着该方法的主要作用。这样,在阅读和修改代码时都会十分方便。

    public String buildHtml() {            String pageString = getDoctype() +                        getHeader() +                         getBody() +                         getFooter();         return pageString;    }

最后一个方法是整合上面所有的内容,按顺序加起来变成一个完整的网页。这个也就是我们在设置好所有内容后需要调用的函数,它返回所有内容的加和,即完整的网页。

了解清楚HtmlPage类之后,下面改LoginServlet文件就很简单了

//首先是实例化一个对象HtmlPage page = new HtmlPage();//然后修改相关的内容,下面以相册为例if (list.equals("photos")) {    page.setTitle("myPhotos");    page.setBackgroundColor("yellow");    page.addText("<H1>这是我武美美哒樱花</H1><BR><IMG src=\"http://news.cct.cn/wp-content/uploads/2017/02/1429667246886p19jfctob2n371god1p0glui2sa4.jpg\"");    out.println(page.buildHtml());}   

下面是运行结果:

网页实际效果

其他按照你自己的想法写完就可以了,看完的同学快去写作业吧(o-ωq)).oO

P.S. 这是我写的第一篇文章,以后还会持续更新的(✿◕‿◕✿),如果有大佬有什么意见欢迎在评论区提出来,多多指教。(源码和其他有关代码稍后会贴出来)

原创粉丝点击