当前位置: 首页 > news >正文

梅州网站建设baidu山东关键词快速排名

梅州网站建设baidu,山东关键词快速排名,开平市住房和城乡建设局网站,wordpress 面包插件目录 一、对象的构造及初始化 1.1. 就地初始化 1.2. 默认初始化 1.3. 构造方法 二、封装 2.1. 封装的概念 2.2. 访问限定符 2.3. 封装扩展之包 三、static成员 3.1. 再谈学生类 3.2. static修饰成员变量 一、对象的构造及初始化 1.1. 就地初始化 在声明成员变…

目录

一、对象的构造及初始化

 1.1. 就地初始化

 1.2. 默认初始化

1.3. 构造方法 

二、封装 

2.1. 封装的概念 

2.2. 访问限定符 

2.3. 封装扩展之包 

三、static成员 

3.1. 再谈学生类 

3.2. static修饰成员变量 


 一、对象的构造及初始化

 1.1. 就地初始化

 在声明成员变量时,就直接给出了初始值,如下面的代码:

public int year=2005;
public int month=3;
public int day=13;

 1.2. 默认初始化

当我们定义成员变量时,不会给成员变量初始化,那么成员变量就会有一个默认初始化的值,如year=0,month=0,day=0。 

1.3. 构造方法 

       接上一期,什么是构造方法? 方法名和类名一样,没有返回值(如下面的代码)。构造方法怎么被调用呢?在Date date=new Date()时被调用。在创建对象时,由编译器自动调用一个不带参数的构造方法,只不过构造方法什么都不做,并且 在整个对象的生命周期内只调用一次。一旦用户定义,编译器则不再生成。此外,还可以提供带多个参数的构造方法(需要结合上一期的代码才能看懂)。

public Date(){}
public Date(){this.year=year;this.month=month;this.day=day;
}public static void main(String[] args){Date date=new Date(2024,10,26);date.PrintDate();

     通过上面的代码,我们可以看到,构造方法可以初始化我们的成员变量。

二、封装 

2.1. 封装的概念 

       不封装可能会很难堪。数据时公开的,会被全世界的人看到,甚至可以被改动。我们如何将程序的从不良数据改成可以保护数据且让你还能修改数据的方式很简单呢?就得将数据隐藏。

       封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行 交互。 

      我们可以使用一些访问限定符来进行封装,比如private。

private String title;
private String genre;
private int rating;

 那既然我们进行了限定访问,还有方法对title、genre、rating进行访问呢?代码如下:

public void setTitle(String title){this.tiltle=title;
}public void setGenre(String genre){this.genre=genre;
}
one.Settitle();
one.setGenre();

现在成员变更少,那如果成员变量多呢?我们可以用编译器自己生成,如下图所示:右键点击generate,在点击Getter and Setter,就会生成如下代码

 

private String title;public String getGenre() {return genre;}public void setGenre(String genre) {this.genre = genre;}private String genre;public Movie(String title) {this.title = title;}public int getRating() {return rating;}private int rating;

我们可以选择getter或setter或getter and setter 

2.2. 访问限定符 

       Java中主要通过类和访问权限来实现封装:类可以将数据以及封装数据的方法结合在一起,更符合人类对事物的认 知,而访问权限用来控制方法或者字段能否直接在类外使用。Java中提供了四种访问限定符: private、default、protected、public。

2.3. 封装扩展之包 

(1)包的概念

       在面向对象体系中,提出了一个软件包的概念,即:为了更好的管理类,把多个类收集在一起成为一组,称为软件包。有点类似于目录。比如:为了更好的管理电脑中的歌曲,一种好的方式就是将相同属性的歌曲放在相同文件 下,也可以对某个文件夹下的音乐进行更详细的分类。所以包的出现就是为了更好地管理java文件。

       比如我们要进行输入操作时,使用Scanner,就需要导入java.util.Scanner包,点号前面是名,后面是类名。我们可以在左侧去寻找这个包,因为博主的电脑里面装了JDK17,所以就会显示出:

在我们的C盘里面这个路径下,可以找到所有java的包,与IDEA上面的一致。

 (2)导入包中的类

import java.sql.*;//并不会把所有类进行加载,用谁取谁,但不是一劳永逸
package java.util;//声明一个包。当前类的第一行,声明一下该类在那个包

       这段代码会报错,为什么呢?第一个包有星号,第二个包有Date,下面的date会懵了,不知道该指向哪个了。 此时就和定义顺序有关

import java.util.*;
import java.sql.Date;Date date = new Date;

 这样就不会因为包的顺序而出错了:

java.util.Date date = new java.util.Date();java.sql.Date date1 = new java.sql.Date(2015,5,10);

(3)自定义的包

       基本规则:在文件的最上方加上一个 package 语句指定该代码在哪个包中;包名要和代码路径相匹配;如果一个类没有 package 语句, 则该类被放到一个默认包中。

操作步骤: 右击scr,点击new,再点package,

(4)包的访问控制权限 

package com.HeBei.www;public class Dog {int age;String breed;String name;public void Bark(){System.out.println(name+"汪汪叫");}
}
package com.HeBei.www;public class Test {public static void main(String[] args) {Dog dog=new Dog();System.out.println(dog.name);}
}
package com.university.www;import com.HeBei.www.Dog;public class Main {public static void main(String[] args) {Dog dog =new Dog();dog.name}
}

      我们来看第一段代码,在com.HeBei.www这个包里面,第二段代码与第一段代码同包不同类,可以正常访问Dog的成员变量;但第三段代码与第一段代码不同包,就不能访问。

(5)常见的包 

下面给大家看一下比较常见的包:

1. java.lang:系统常用基础类(String、Object),此包从JDK1.1后自动导入。 2. java.lang.reflect:java 反射编程包; 3. java.net:进行网络编程开发包。 4. java.sql:进行数据库开发的支持包。 5. java.util:是java提供的工具程序包。(集合类等) 非常重要 6. java.io:I/O编程开发包。

三、static成员 

3.1. 再谈学生类 

public class Student {int age;String name;String Class;public Student(int age,String name,String Class){this.age =age;this.name =name;this.Class=Class;}public static void doClass(){System.out.println();}
}
public class Test {public static void main(String[] args) {Student stu1=new Student(17,"Alan","101");Student stu2=new Student(18,"Henry","101");Student stu3=new Student(16,"Paul","101");}
}

 

       三个stu都隶属于同一个Class,且都放在同一对象里,此时就需要在栈上开辟三块内存空间。那如果我们把Class也包含一份,就需要定义一个static,就不会看到属性里有Class,同时这个成员变量也不再属于对象了,而这个Class存储在了方法区。

 

System.out.println(stu1.Class);
System.out.println(stu2.Class);
System.out.println(stu3.Class);

 

    这样我们就把Class放在同一个静态成员变量或者类变量里面,但这种访问不合理。 

3.2. static修饰成员变量 

      static修饰的成员变量,称为静态成员变量,静态成员变量最大的特性:不属于某个具体的对象,是所有对象所共享的。 

    静态成员变量属性: 1. 不属于某个具体的对象,是类的属性,所有对象共享的,不存储在某个对象的空间中 2. 既可以通过对象访问,也可以通过类名访问,但一般更推荐使用类名访问 3. 类变量存储在方法区当中 4. 生命周期伴随类的一生(即:随类的加载而创建,随类的卸载而销毁)

http://www.tj-hxxt.cn/news/44552.html

相关文章:

  • 企业品牌类网站市场营销网站
  • 网站建设推广济南兴田德润优惠吗重庆网络推广公司
  • 中国疫情最新消息风险区优化营商环境工作开展情况汇报
  • 做网站 网络映射中国做网站的公司排名
  • 黄岐做网站百度商店应用市场
  • 做网站用域名不备案怎么弄seo专员简历
  • 大连网站怎么深圳搜索seo优化排名
  • 营销类网站建设热狗网站关键词优化
  • 开天猫旗舰店网站建设平台接广告在哪里接的
  • 职业生涯规划用什么网站做测试营销推广软件
  • 网站建设价格标准信息谷歌浏览器在线打开
  • cnd设计网站官网杭州优化外包哪里好
  • 实体服务器做网站搜索引擎营销的名词解释
  • 白山做网站电商网站推广方案
  • 百度开放云做网站网站seo关键词排名
  • 电子商务网站建设计划书百度关键字优化精灵
  • 一个好的网站内页大概做多少环球网今日疫情消息
  • 做网站用百度百科的资料会侵权吗搜索引擎优化方案案例
  • 湖州市住房和城乡建设局官方网站seo1搬到哪里去了
  • php开发微网站开发搜索引擎优化seo网站
  • 百度收录的网站已经失效网页推广方案
  • 杭州推荐网站建设团队东莞网络科技公司排名
  • 哪些网站用vue.js做的海外网站推广优化专员
  • 无锡做网站企业搜搜
  • 投资20万做网站好吗百度账号出售平台
  • 可信赖的武进网站建设合肥关键词排名提升
  • 首页wordpress主题新乡seo优化
  • 南阳做网站的网站超级外链
  • 天津网页制作免费关键词排名优化
  • 做百度竞价对网站空间有什么要求百度如何优化