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

天津网站建设咨询杭州景观设计公司排行

天津网站建设咨询,杭州景观设计公司排行,wordpress手机主题下载,wordpress全站腾讯云cdn在过去的10天里,终于把毕业论文定稿了,进度拖沓了,但是我还是会赶进度的,原计划的进度已经拖了很久了,我将在本周和下周三之前结束Java进阶技术的内容。 一、封装 (1)面向对象三大特征之一&am…

在过去的10天里,终于把毕业论文定稿了,进度拖沓了,但是我还是会赶进度的,原计划的进度已经拖了很久了,我将在本周和下周三之前结束Java进阶技术的内容。

一、封装

(1)面向对象三大特征之一:封装

(2)封装的概念

将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

(3)封装的两个大致原则:

把尽可能多的东西藏起来,对外提供便捷的接口
把所有的属性藏起来。

(4)封装的步骤

  1. 把属性的public访问修饰符改为private

private:只能在本类中进行访问

  1. 编写设置值与获取值的方法

一般来说,类名,属性名全部都是名词,方法名为动词

(5)如何实现封装

  1. 修改属性的可见性:设为private,防止错误的修改。
  2. 创建公有的getter/setter方法:用于属性的读写。
  3. 在getter/setter方法中加入属性控制语句:对属性值的合法性进行判断。

(6)封装的好处

  1. 便于使用者正确使用系统,防止错误修改属性。
  2. 有助于系统之间的松耦合,提高系统独立性。
  3. 提高软件的可重用性。
  4. 降低了构建大型系统的风险。

例子1:

自定义学生类

package FengZhuang;/*** user:liaoxinyue* 学生类**/
public class Student {private String name;private int    age;private String sex;private double score;public String getName ( ) {return name;}public void setName ( String name ) {if ( name.length ( ) == 0 || name.length ( ) > 20 ) {return;} else {this.name = name;}}public int getAge ( ) {return age;}public void setAge ( int age ) {this.age = age;}public String getSex ( ) {return sex;}public void setSex ( String sex ) {if ( !sex.equals ( "男" ) && !sex.equals ( "女" ) ) {this.sex = sex;}return;}public double getScore ( ) {return score;}public void setScore ( double score ) {if ( score < 0 || score > 100 ) {return;} else {this.score = score;}}
}

自定义学生管理测试类

package FengZhuang;/*** user:liaoxinyue**/
public class StudentManager {public static void main ( String[] args ) {Student student = new Student ( );student.setName ( "lxy" );student.setAge ( 22 );student.setSex ( "女" );student.setScore ( 90 );System.out.println ( "{" + student.getName ( ) + "},{" + student.getAge ( ) + "},{" + student.getSex ( ) + "},{" + student.getScore ( ) + "}" );}
}

二、访问控制

(1)方法修饰符的权限

  1. public

最高权限,跨包,跨类都可以。

  1. default

默认的意思,在同一个包下,可以访问。跨包不可以访问。

  1. protected

低于public一级,在子类中可以访问。(继承的概念)

  1. private

最低权限,只能在本类中访问。

类成员的访问修饰

作用域\修饰符一个类中同一个包中子类中外部包
private可以不可以不可以不可以
default可以可以不可以不可以
protected可以可以可以不可以
public可以可以可以可以

注意事项: 在修饰类的访问修饰符只有public和default两种。类采用的默认修饰符只能在同包中使用

三、static修饰符

定义在属性和方法之上,加上此修饰符之后,这个属性或者方法就是类的静态成员。它是类级别的,公共的了,不是属于一个对象所私有的。

static可以修饰那些东西?

  • 成员变量

静态变量,可以直接通过类名访问

  • 成员方法

静态方法,可以直接通过类名访问

  • 代码块

静态代码块,当Java虚拟机加载类时,就会执行该代码块。

小练习:选民投票案例

例子1:
自定义选民类

package com.JavaCode.FengZhuang.Toll;/*** 选民类* user:liaoxinyue**/
public class XuanMin {
//	 总票数public static int num;//内存上只有一份,被所有的实例对象()所共享public String name;
//	 投票public void Poll(){if ( XuanMin.num>=3 ){return;}XuanMin.num++;}
}

自定义测试类

package com.JavaCode.FengZhuang.Toll;/*** user:liaoxinyue**/
public class Test {public static void main ( String[] args ) {XuanMin xuanMin=new XuanMin ();xuanMin.name="廖心悦";xuanMin.Poll ();System.out.println ("总票数为:"+XuanMin.num );XuanMin xuanMin1=new XuanMin ();xuanMin1.name="廖继皓轩";xuanMin1.Poll ();System.out.println ("总票数为:"+XuanMin.num );XuanMin xuanMin2=new XuanMin ();xuanMin2.name="廖加全";xuanMin2.Poll ();System.out.println ("总票数为:"+XuanMin.num );XuanMin xuanMin3=new XuanMin ();xuanMin3.name="廖小狗";xuanMin3.Poll ();System.out.println ("总票数为:"+XuanMin.num );XuanMin xuanMin4=new XuanMin ();xuanMin4.name="邓书香";xuanMin4.Poll ();System.out.println ("总票数为:"+XuanMin.num );}
}

四、static静态代码块

static代码块

  • jvm加载类时,加载静态代码块

如果有多个静态代码块,按顺序加载
每个静态代码块只会被执行一次。

static执行时机,当类加载的时候就去执行。

特征:只能执行一次
应用场景:连接数据库的时候,把数据库的连接对象
作用:给一些静态属性赋初始值。
目的:节省内存空间,减少不必要的内存资源浪费。节省程序的性能开销。

小练习

自定义学生类

package com.JavaCode.FengZhuang.entity;/*** user:liaoxinyue**/
public class StudentDemo {public StudentDemo(){System.out.println ("无参构造方法" );}//	 static执行时机,当类加载的时候就去执行。特征:只能执行一次
//	 应用场景:连接数据库的时候,把数据库的连接对象
//	 作用:给一些静态属性赋初始值。
//	 目的:节省内存空间,减少不必要的内存资源浪费。节省程序的性能开销。private        String name;private        int    age;private static double money = 0.0;public String getName ( ) {return name;}public void setName ( String name ) {this.name = name;}public int getAge ( ) {return age;}public void setAge ( int age ) {this.age = age;}public static double getMoney ( ) {return money;}public static void setMoney ( double money ) {StudentDemo.money = money;}static {//静态代码块:只能访问静态的成员StudentDemo.money += 100;}static {//静态代码块:只能访问静态的成员StudentDemo.money +=150;}public static void main ( String[] args ) {StudentDemo studentDemo = new StudentDemo ( );System.out.println ( studentDemo.money );}
}

自定义测试类

package com.JavaCode.FengZhuang.entity;/*** user:liaoxinyue**/
public class StudentDemoManager {public static void main ( String[] args ) {StudentDemo stu = new StudentDemo ( );System.out.println ( stu.getMoney ( ) );StudentDemo stu1 = new StudentDemo ( );//实例化对象之前就会执行,实例化对象就会触发类加载。System.out.println ( stu1.getMoney ( ) );}
}

2、电影案例

自定义电影类

package Demo;/*** user:liaoxinyue**/
public class Movie {private int id;private String name;private double price;private String actor;public Movie ( ) {}public Movie ( int id , String name , double price , String actor ) {this.id    = id;this.name  = name;this.price = price;this.actor = actor;}public String getName ( ) {return name;}public void setName ( String name ) {this.name = name;}public double getPrice ( ) {return price;}public void setPrice ( double price ) {this.price = price;}public String getActor ( ) {return actor;}public void setActor ( String actor ) {this.actor = actor;}public int getId ( ) {return id;}public void setId ( int id ) {this.id = id;}
}

自定义电影操作类

package Demo;import java.util.*;/*** user:liaoxinyue**/
public class MovieOperator {private Movie[] movie;private int     age;public MovieOperator ( Movie[] movie ) {this.movie = movie;}public void showAllMovie ( ) {System.out.println ( "=========全部电影信息如下============" );for ( int i = 0 ; i < movie.length ; i++ ) {Movie movies = movie[ i ];System.out.println ( movies.getId ( ) + "\t" + movies.getName ( ) + "\t" + movies.getPrice ( ) + "\t" + movies.getActor ( ) );}}public void getMovieById (  ) {System.out.println ("请输入你要查询的电影id" );System.out.println ("要查询的电影信息如下:" );Scanner scanner=new Scanner ( System.in );int id=scanner.nextInt ();for ( int i = 0 ; i < movie.length ; i++ ) {Movie movies = movie[ i ];if ( movies.getId ()==id ){System.out.println ( movies.getId ( ) + "\t" + movies.getName ( ) + "\t" + movies.getPrice ( ) + "\t" + movies.getActor ( ) );return;}}System.out.println ("查无此电影" );}
}

自定义测试类

package Demo;/*** user:liaoxinyue**/
public class MovieDemo {public static void main ( String[] args ) {//目标:掌握电影信息的开发//1、每个电影是一个电影对象,首先设计电影类,用于创建电影对象,封装电影数据//2、准备电影对象数据(电影信息):由一个一个的电影对象存储Movie[] movie = new Movie[ 5 ];movie[ 0 ] = new Movie ( 1 , "热辣滚筒" , 46.5 , "贾玲" );movie[ 1 ] = new Movie ( 2 , "飞驰人生" , 49.6 , "沈腾" );movie[ 2 ] = new Movie ( 3 , "非诚勿扰" , 50 , "葛优" );movie[ 3 ] = new Movie ( 4 , "第二十条" , 46 , "赵丽颖" );movie[ 4 ] = new Movie ( 5 , "熊出没" , 38 , "光头强" );//3、把电影对象数据交给电影操作对象进行业务处理MovieOperator movieOperator = new MovieOperator ( movie );movieOperator.showAllMovie ( );movieOperator.getMovieById ( );}
}
http://www.dtcms.com/a/533297.html

相关文章:

  • 10.5 小项目:如何用 JavaScript 实现一个高效的时间+Token过期容器?
  • 网站备案帐号找回密码免费友链平台
  • Every other Cycle Command Input(隔循环命令输入)
  • 更换docker默认镜像仓库地址方法
  • 福建省交通建设质量安全监督局网站软文写作技巧
  • 装饰公司营销型网站设计网站图片等比缩小
  • 高端网站制作价格大型大型网站建设方案ppt模板
  • 【底层机制】Linux内核4.10版本的完整存储栈架构讲解--用户空间到物理设备完整IO路径
  • nodejs 使用speaker + ffmpeg 实现静默播放MP3
  • 【大模型应用开发 LangChain模型输出属性速查表】
  • 南京 电子商务网站WordPress实现微信一键登录
  • 豫icp郑州网站建设做视频网站要什么
  • 商丘手机网站制作西安怡佳然网络科技有限公司
  • 开发制作一个网站北京做网站的公司商集客电话
  • 第七章:理解篇 - 对接云端语音识别,让助手“听懂”人话
  • 长春做网站多少钱全屏背景网站
  • 企业做淘宝网站需要多少钱王烨森
  • 课后作业-2025-10-26
  • 外管局网站先支后收怎么做报告企业网站开发需求
  • 网站域名所有权证书网站后台 全局配置
  • python之pydantic使用小结
  • 有什么好的网站建设的书厚街外贸网站建设
  • 从Google Chrome商店下载CRX文件
  • 做微信公众平台的网站欧美设计网站
  • 网站建设介绍ppt模板下载wordpress谷歌字体库
  • 高职护理专业就业指南:医院就业路径与职业发展
  • STM32F103C8T6--ADC
  • 怎么建设公益网站建公司网站的公司
  • shell脚本练习题1.0
  • 网站开发费的会计处理济南市工程建设技术监督局网站