JAVA面向对象,部分H5

1 . 面向对象。

更像是以人的视角和语言去描述对象。利用算法加数据的形式进行编程。

 #类与对象

 <1>类是一个抽象的概念,是一组对象的共同的特点。例如学生,老师是类,那么学生李华,老师张三则是具体的对象个体。

 <2>类是对象的抽象,用于描述一组对象的共同特征和行为。

class 类名 {   属性 (对象的属性)

class character {
private String name;
private int age;
private String emotion; 在这其中,定义了character类,其中的name,age,emotion则是成员变量。

 

 

 <3>对象的创建,创建一个类的对象,类名 对象名称 = new 类名();

例如:character chara =new character();

前半部分"character chara"是声明一个character类的叫chara的对象,然后将新创建的对象地址赋值过去(通过‘=’),使用new关键字来将创建的对象在堆内存中分配空间。
很不幸哇,我没理解透,栈内存与堆内存。浅浅理解应该是创建一个对象在堆内存里开辟一块储存空间,但里面并没有被赋值,具有方法,要通过栈内存的对象名赋值访问,使用堆内存里的方法?
栈内存通过地址,使用堆中变量和方法,,堆内存默认null与0.

#访问控制
四个等级逐渐扩大:private,dafault,protected,public.
private:私有的;类成员一旦使用了这个关键字修饰,那么该成员只能在本类中访问。
default:默认;属于默认访问权限,可以被这个包package里的其他类访问,但是不能够超出这个包访问。
protected:受保护的;只能被本包不同的还有不同包的子类访问,打个比方是自己的东西可以允许自己熟悉的别的个人访问
public:公共;可以在所有类中被访问,不管是否在同一个包里。
public是涵盖范围最大的一项。

<1>:JAVA程序的文件名:如果一个java文件里所有类都没有使用public修饰,那么它的文件名是一切合法的名字都可以,
如果有一个public存在,那么java文件名一定会与它的类名一样。

 

可以看见Test.java是有下滑菜单,character是自定义的类,而下方Test.java文件是与下方public所修饰的类同名

#封装性
<1>提供保护作用。对成员变量可以访问的权限作出限制
<2>避免一些不符合常理的垃圾数据。
使用关键字修饰成员属性,通过方法获取属性的值。
例如以下的设置角色扮演的例子

package com.company;
import java.util.Scanner;

class character {
private String name;
private int age;
private String emotion;

public String getName(){
Scanner input =new Scanner(System.in);
System.out.println("请输入你的名字,试试英文,例如Lily:");
name= input.next();
return name;
}
public int getAge(){
return age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age){
if (age<=0){
System.out.println("error");
}else{
this.age=age;
}
}
public void setEmotion(String emotion){
this.emotion = emotion;
}
public void print() {
System.out.println("你好,你的名字被设置为" + getName() +" 年龄是"+getAge());
System.out.println("所以你之后的年龄是"+(getAge()+1)+"岁哦");
System.out.println("当前心情状态是"+emotion);
}
}
public class Test {
public static void main(String[] args) {
character chara =new character();
chara.setName("st.getName()");
chara.setAge(16);
chara.setEmotion("YELLOW.活泼却沉稳");
chara.print();
}
}
private关键字将emotion,name,age设为私有变量,通过set,get的方法进行获取属性的值。
#构造方法
<1>:方法名与类名保持一致;
<2>:不需要返回数值,不用加void
<3>:不可以使用return返回一个值,但是可以用于结束语句

作用:可以给对象进行初始化数值;
例如:
character chara =new character(int age,String name);使int age=12;String name=“Lily”,

这样 character chara =new character(12,“Lily”);
就是给对象进行了初始化数值设置,名字为Lily,年龄为12;
此时下方再编写

chara.setName("st.getName()");
            chara.setAge(16);
chara.setEmotion("YELLOW.活泼却沉稳");
chara.print();

可以更改所赋予的值,只是先后顺序不同,下方的修改赋值是修改的初始设置的数值。
在声明构造方法的时候可以使用private进行修饰,但会因为私有化无法构造对象了,但是有特殊情况。
<4>一旦构造方法,不论有无参数,系统都不会添加无参数的构造方法。(就是设定参数括号内为空)
<5>构造方法与一般方法并不一样。也不能混为一谈。构造方法的调用必须是 “new 类名(参数)”,只要出现一个new就意味着出现一个对象。
#THIS用法:
当局部变量与成员变量产生重名问题,利用this关键字进行区分代表。哪个对象调用this所在的方法,那么this就代表着那个对象,
之后使用中使用this来代表之后调运这个方法的对象。
this在构造方法间的运用,构造方法内,this+(参数)而且要位于第一句话,否则产生歧义造成语法错误逻辑混乱。初始化的值是先执行的。
#static用法:
<1>可以用来修饰成员变量,也可以修饰成员方法。被static修饰的方法是独立的,会变成一个共同的属性,被类中所有的对象都具有。
通过对象调用方法,也可以通过类来调用出来。不可以用于修饰局部变量。
<2>被static修饰的静态方法只能被静态成员使用。
<3>不可以使用this关键字。因为静态优先于对象,没有对象是无法直接使用属性和this的
<4>缺点:局限性很高,生命周期长
<5>优点:可以被类名直接调用,方便。

#H5部分

<!doctype html>
<html>
<head>
<meta charset="utf-8"> 
<title>C.A.P.O</title>

</head><p> <font size="0.5px" color="#b3d5ea">驻足此地,追寻答案 | 愿您长存不灭,无瑕而璀璨</font></p>


<hr size= "1.5px" color="#b3d5ea">
<body bgcolor="#181716">//背景颜色的设置
<img src="images/capotext.png">//图片插入,如果在当前文件夹那么就是img src目录了,如果是下一级文件夹使用“/”进行目录的书写,如果是上一级那么使用“ ../ ”注意点号,可以由此推出上两级为../../
<p align="right"><font size="3px" color="#6c7484">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;感谢您的到来--THANKS FOR EVERYONE.</font></p>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//目前没有发现更好的空格方法   <img src="images/CAPO&TATIJANA.png">
<li><a href="images/画板 2.png"><font size="2px" color="#6c7484"><strong>&nbsp;&nbsp;感谢您的到来,歌颂您的奉献,愿您游览群星,获得至理。</strong></font></a></li>//此处是显示链接,我只做了一个页面,那就只能显示个图片了。不过注意一下嵌套的顺序吧,自己是这么嵌套的
<br>
<table width="665" height="165" border="3px" align="63px" cellpadding="0" cellspacing="0" color="#6c7484">
</table>魔改HR的示例文件做出来的矩形框,反正发来的示例文件就是资源库就是,魔改一通就是我的了。
</body>
</html>

 


 <1.>创建超链接文本,<a href=" 跳转目标" target="目标弹出窗口方式">文本或图像</a>,使用<a href ="###"></a>此时超链接是可以并列的哦。

 <2.>列表,<ul></ul>用于定义一个无序列表,会出现默认圆点,<ol></ol>则是有序列表,会出现1,2,3,4诸如此类的分行标记。

 

就到这里吧。默认表情包结尾了


posted @ 2022-03-21 21:21  小石榴单推人  阅读(99)  评论(1编辑  收藏  举报