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

北京社工委网站微信群建设沈阳黄页88企业名录

北京社工委网站微信群建设,沈阳黄页88企业名录,免费公司宣传册设计样本,医药b2b平台目录 一、对象的构造及初始化 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.rdtb.cn/news/21912.html

相关文章:

  • 网络课程网站模板杭州网站推广找哪家
  • 网站有标题直销产业发展论坛
  • 企业网站制作 西安网络营销的培训课程
  • 哪有做网站的seo产品优化免费软件
  • 网站做直播需要什么资质学seo哪个培训好
  • 如何给给公司建立网站360广告联盟平台
  • saas建站 彩页站长工具精华
  • 在线聊天网站怎么做178软文网
  • 人人做免费网站搜索引擎优化原理
  • 成人本科报名时间2024年官网长沙靠谱关键词优化服务
  • 做专属淘客网站网站域名备案信息查询
  • 企业建网站作用网络营销培训班
  • 个人做企业 网站杭州网站建设 seo
  • 家具网站素材抖音营销软件
  • 成都网站改版公司产品推广软件有哪些
  • saas建站和开源建站的区别培训体系包括四大体系
  • 成都网络关键词排名seo关键词优化要多少钱
  • 门户网站安全建设网络的推广方式有哪些
  • 网站建设创业计划书范文大全seo品牌推广方法
  • 网站自适应布局 html5营销模式都有哪些
  • java做网站学什么推广标题怎么写
  • 做app 的模板下载网站有哪些石家庄网络营销网站推广
  • 免费1级做爰片观看网站在线视频附近哪里有计算机培训班
  • 网站管理系统源码神马关键词快速排名软件
  • 深圳网站开发设计哈尔滨网站优化
  • 为什么做网站结构优化做seo是什么意思
  • 网站文件权限设置seo先上排名后收费
  • 网站报价明细表市场营销策划方案3000字
  • 北京国际建设集团网站营销网站建设多少钱
  • 上海网站建设服务多少钱百度点击优化