Java学习-面向对象编程

  1. 对面向对象的理解

   2.类和对象

  3.定义类

类的注意事项·:

具体写法

   4.创建对象

5.构造器

构造器的示例:

packageConstructor;

publicclassTeacher{

publicStringname;

publicintidNum;

//构造器的语法public类名(参数列表){}

//构造器可以重载;

//this关键字的应用场景主要为形参名与成员名冲突的情况,用this.成员名代表成员

//可以理解为一种特殊的方法

//构造器的主要应用场景为:在创建对象的时候为其初始化

publicTeacher()

{

//这是无参数构造器

System.out.println("这是无参数构造器~~");

}

publicTeacher(Stringname)

{

//这是有参数构造器

this.name=name;

System.out.println("这名老师的名字为:"+this.name);

}

publicTeacher(Stringname,intidNum)

{this.name=name;

this.idNum=idNum;

System.out.println(this.name+"老师的职工号为"+idNum);

}

}

6.this关键字

7.封装

8.标准JavaBean

实例:

packageJavaBean;

publicclassStudent{

privateStringname;

privateintidNum;

privatedoublescores;

publicStudent(){

}

publicStudent(Stringname,intidNum,doublescores){

this.name=name;

this.idNum=idNum;

this.scores=scores;

}

//JavaBean实体是一个具体的实体,可以用于储存实体的信息

//java开发中常常将实物信息的存储和处理分开

//java实体可以说是一个只有getset方法的特别的类

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicintgetIdNum(){

returnidNum;

}

publicvoidsetIdNum(intidNum){

this.idNum=idNum;

}

publicdoublegetScores(){

returnscores;

}

publicvoidsetScores(doublescores){

this.scores=scores;

}

}

 

9.成员变量和局部变量的区别

 

案例:

创建一个java实体类

packageobjectDemo;

publicclassMovie{

privateintId;

privateStringname;

privatedoubleprice;

privateStringdirector;

privateStringactor;

publicMovie(){

//构建无参构造器

}

privateStringInfo;

//构建有参构造器,方便对成员变量初始化

publicMovie(intId,Stringname,doubleprice,Stringdirector,Stringactor,StringInfo){

this.Id=Id;

this.name=name;

this.price=price;

this.director=director;

this.actor=actor;

this.Info=Info;

}

publicintgetId(){

returnId;

}

publicvoidsetId(intid){

Id=id;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicdoublegetPrice(){

returnprice;

}

publicvoidsetPrice(doubleprice){

this.price=price;

}

publicStringgetDirector(){

returndirector;

}

publicvoidsetDirector(Stringdirector){

this.director=director;

}

publicStringgetActor(){

returnactor;

}

publicvoidsetActor(Stringactor){

this.actor=actor;

}

publicStringgetInfo(){

returnInfo;

}

publicvoidsetInfo(Stringinfo){

Info=info;

}

}

创建一个操作的类

packageobjectDemo;

importjava.util.Scanner;

publicclassmovieOperate{

privateMovie[]movies;//用数组储存电影

//利用有参构造器传入电影数组

publicmovieOperate(Movie[]movies){

this.movies=movies;

}

//实现功能一的方法

publicvoidshowAllMovies(){

System.out.println("----------所有电影的信息如下:-----------");

for(inti=0;i<movies.length;i++){

Moviem=movies[i];

System.out.println(m.getName()+"电影的id为:"+m.getId());

System.out.println("价格为:"+m.getPrice());

System.out.println("--------------------------------------");

}

}

//实现第二个功能的方法

publicvoidseekMoviesById(intId){

System.out.println("---请您输入要查询电影的id---");

for(inti=0;i<movies.length;i++){

Moviem=movies[i];

if(m.getId()==Id){

System.out.println("该电影的名字为:"+m.getName());

System.out.println("电影的价格为:"+m.getPrice());

System.out.println("电影的导演为:"+m.getDirector());

System.out.println("电影的主演为:"+m.getActor());

System.out.println("电影的其他信息为:"+m.getInfo());

return;

}

}

System.out.println("您输入的电影id有问题,请您重新输入!");

}

}

创建一个测试类

packageobjectDemo;

importjava.util.Scanner;

publicclassTextMovie{

publicstaticvoidmain(String[]args){

Scannersc=newScanner(System.in);

//电影基本信息

//1,"水门桥",38.9,“徐克","吴京",“12万人想看"

//2,“出拳吧",39,“唐晓白",“田雨”,“3.5万人想看”

//3,"月球陨落",42,"罗兰","贝瑞","17.9万人想看"

//4,"一点就到家",35,"许宏字","刘吴然","1日.8万人想看"

Movie[]movies=newMovie[4];

movies[0]=newMovie(1,"水门桥",38.9,"徐克","吴京","12万人想看");

movies[1]=newMovie(2,"出拳吧",39,"唐晓白","田雨","3.5万人想看");

movies[2]=newMovie(3,"月球陨落",42,"罗兰","贝瑞","17.9万人想看");

movies[3]=newMovie(4,"一点就到家",35,"许宏字","刘吴然","1.8万人想看");

movieOperateoperate=newmovieOperate(movies);

while(true){

System.out.println("请您输入要查询业务的编号:");

System.out.println("1.查看所有电影的基本信息");

System.out.println("2.输入电影的id,查看具体电影信息");

intcommand=sc.nextInt();

switch(command){

case1:operate.showAllMovies();break;

case2:

System.out.println("请您输入id");

intseek=sc.nextInt();

operate.seekMoviesById(seek);break;

default:

System.out.println("您输入的编号有问题,请重新输入!");

}

}

}

}

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值