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

.flv 网站播放公司邮箱登录

.flv 网站播放,公司邮箱登录,免费查企业哪个软件最好,seo蜘蛛池一、面向对象基本概念 /* 面向对象编程的步骤: 1.先设计对象的模板,也就是一个类class 生成一个新类的语句是:public class 类名,就跟python中class 类名一样 2.通过new关键字生成具体的对象,每new一次代表创建了的一个新的对象*…

一、面向对象基本概念

/*
面向对象编程的步骤:
1.先设计对象的模板,也就是一个类class
生成一个新类的语句是:public class 类名,就跟python中class 类名一样
2.通过new关键字生成具体的对象,每new一次代表创建了的一个新的对象*//*
跟python相似,java里的类也可以定义类方法
属性定义完后,定义方法*/
public class Student{String name;int age;double height;double weight;double math_grade;double english_grade;public void showAllGrade(){System.out.println(name + "的总成绩是" + (math_grade + english_grade));}
}
/*
这里有点像python中的init方法,指明类的属性有哪些。
但是不用xiangpython那样,self.name = name,java中指明有name就行了
即 String name*/

类定义好了之后,再新建一个文件,创建具体的对象

/*
这个demo用于创建Student类下的一个具体对象
创建对象的语法:
类名 对象名 =new 类名();*/
public class Demo {public static void main(String[] args) {// 这里跟python有点像,通过 对象名.属性 的方式给对象初始化Student XiaoMing = new Student();XiaoMing.name = "小明";XiaoMing.age = 18;XiaoMing.height = 175.0;XiaoMing.weight = 74.3;XiaoMing.english_grade = 144;XiaoMing.math_grade = 125.5;System.out.println("小明的总成绩是" + (XiaoMing.math_grade + XiaoMing.english_grade));System.out.println("----------------");XiaoMing.showAllGrade(); //直接调用类方法,跟在对象里调用一样的}}

二、对象到底是什么

对象实质上是一个数据结构,jvm里有栈内存,堆内存和方法区,

对象名(XiaoMing)存在栈里,是一个地址,这个地址指向一个具体的对象,对象的属性存在堆里,对象的方法存在方法区里。

执行一个,从栈中弹出一个,直至结束,栈清空。

三、类的基本语法

类的语法,是为了更好的设计出类

3.1构造器

构造器是一种特殊方法,没有返回值,名称必须跟类名一致。

构造器可以有参数,也可以没有参数,构造器可以重载。

它的语法如下:

public class Student {public Student() {}
}
// 构造器就是类里的一个特殊方法
//构造器的常见应用场景:在创建对象时,同时完成对象属性的初始化赋值,有点像init方法
//如此一来,创建对象时,传入相应参数即可,跟python的类创建一样了
public class Student {int age;String name;String gender;public Student() {//这是一个无参构造器System.out.println("Student Constructor");}public Student(int age , String name , String gender) { // 有参数构造器age = age;name = name;gender = gender;System.out.println("年龄:" + age);}}

demo:

public class Demo {public static void main(String[] args) {test();}public static void test() {Student s1 = new Student(); //创建对象时,会立即调用构造器Student s2 = new Student(18,"小明","男");}
}

tips:

定义一个类时,就默认有了一个无参数构造器,定义了有参构造器后,无参构造器就没有了。

此时若还想再用无参构造器,就必须自己显式的定义一个出来。

有参构造器,可以使java像python那样新建一个对象,即:类名(参数列表),直接就把对象创建好了,参数列表中为对象的各个属性。

而如果使用无参构造器,就必须通过 “ 类名 对象名 = new 类名()"来创建一个对象,创建后再

"对象名.属性  = 多少"的方式,去初始化对象的各个属性。

因此实际中无参构造器和有参构造器一般都同时创建或都不创建。

3.2 this关键字

This就是一个变量,用在方法中,用来拿到当前对象。

创建一个新的类:

public class Teacher {String name;public void print(){//this 是一个变量,用于拿到当前对象的地址,哪个对象调用这个方法,this就拿到哪个对象System.out.println(this);//把this 打印出来,发现其是一个地址System.out.println(this.name);}public void printFavoriteSong(String name){ //设计一个方法,打印老师最喜欢的歌曲名字/* System.out.println(name + "最喜欢的歌名是" + name); 
这就导致冲突了,输出的是“歌名 最喜欢的歌名是 歌名” */System.out.println(this.name + "最喜欢的歌名是" + name);}
}

生成一个对象:

public class Teacher {String name;public void print(){//this 是一个变量,用于拿到当前对象的地址,哪个对象调用这个方法,this就拿到哪个对象System.out.println(this);//把this 打印出来,发现其是一个地址System.out.println(this.name);}
}

This的作用:解决变量名称冲突的问题,用this来指代对象,this.属性就是拿到对象的各种属性

回过头再审视一下3.2中有参构造器的写法,发现上面那么写其实是导致了变量名冲突的,因此改进如下

public class Student {int age;String name;String gender;public Student() {//这是一个无参构造器System.out.println("Student Constructor");}public Student(int age , String name , String gender) { // 有参数构造器this.age = age;this.name = name;this.gender = gender;System.out.println("年龄:" + this.age);}}

这就越来越像python了,有参数构造器就是init方法,this就是self,python里初始化都是self.name = name , java 里就是 this.name = name。(当然,这并不严谨)

对象的变量叫做成员变量(比如Teacher类的名字),方法中的变量叫做局部变量。

3.3封装

面向对象的三大特征:封装,多态,继承

封装要求我们合理隐藏,合理暴露。如下所示

/*
1.如何隐藏?
使用private关键字来修饰成员变量,令其只能在本类中被直接访问
其他任何地方无法访问,也就是在外部不能用 对象名. 的方式去修改*/
public class Student {private String name;private int age;
/*
2.如何暴露?
龟腚:
使用public修饰的set和get方法,来对成员变量赋值和取值,这是公开的方法
所谓公开,就是任何地方可以访问*/public void setName(String name){this.name = name;}public void setAge(int age){if (age > 0 & age < 200){this.age = age;}else{System.out.println("请输入正确的年龄!");}}public String getName(){return name;}public int getAge(){return age;}
}
public class Test {public static void main(String[] args) {Student s1 = new Student();s1.setAge(150);s1.setName("Ronnie");System.out.println(s1.getName());System.out.println(s1.getAge());}
}

从今往后,都要按这种习惯写代码!

成员变量私有化,不让直接赋值,而是通过设计公开的赋值取值方法,来赋值和取值

3.4JavaBean实体类

什么是实体类?满足以下两个要求的就是实体类:

第一,类中的成员变量全部私有,并且提供公开的set和get方法

第二,类中必须提供一个无参构造器,有参构造器可选

生成一个实体类:

//实体类,可以提供有参数构造器
public class Student {//1.私有化成员变量private String name;private int age;private double math;//提供一个无参构造器:必须public Student() {}//提供一个有参构造器:可选public Student(double math, int age, String name) {this.math = math;this.age = age;this.name = name;}/*2.提供公开的set 和 get 方法,事实上右键-generate 可以自动生成*/public double getMath() {return math;}public void setMath(double math) {this.math = math;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

实体类的作用:

实体类只负责数据的存取,而业务的其他需求,由其他的类的对象来实现,从而实现数据存取和业务处理的分离。

public class StudentOperator {//必须要拿到待操作的学生对象private Student s; // 定义了一个变量s,类型是Student,用来记住等会要操作的成员变量public StudentOperator(Student s) { //StudentOperator的有参构造器 ,this.s = s;}public void printTotalGrade() {System.out.println("总成绩是" + (s.getMath() + s.getEnglish()));}}
public class StudentOperator {//必须要拿到待操作的学生对象private Student s; // 定义了一个变量s,类型是Student,用来记住等会要操作的成员变量public StudentOperator(Student s) { //StudentOperator的有参构造器 ,this.s = s;}public void printTotalGrade() {System.out.println("总成绩是" + (s.getMath() + s.getEnglish()));}}
public class Test {public static void main(String[] args) {Student s1 = new Student(89.0,18,"张三",144);System.out.println(s1.getName());System.out.println(s1.getAge());System.out.println("=====================");//创建一个学生的操作对象,专门用来完成需求StudentOperator s1_op = new StudentOperator(s1);s1_op.printTotalGrade();}
}

http://www.yayakq.cn/news/558130/

相关文章:

  • 自贡建设专业网站设计wordpress私密文章权限设置
  • 宜宾金农投资建设集团网站推广专员是主要做什么
  • 门户类网站建立有哪些构成开设网站维护公司
  • 湖南张家界建设厅网站广东建设厅网站查询
  • 怀化买房网站百度站长快速收录
  • 网站开发视频如何节省流量阳江城乡建设部网站首页
  • 网站建设文化公司wordpress立即发布
  • 一流校建设网站清丰网站建设价格
  • 好看的旅游网站模板下载网站总是在建设中
  • 网站首页快照怎么做大气网站模板免费下载
  • 外贸多语种网站推广专业做网站广州
  • 创建网站怎么赚钱的中国住房和城乡建设部网站6
  • 冀州网站优化工作是否能给我们带来快乐
  • 网站构成电子商务网站建设移动电商开发
  • 电子商务网站开发实训总结专业建设网站建站
  • 网站制作wordpress做网站工作
  • 汇鑫科技网站建设科技馆展厅
  • 做网站开发背景响应式网站建设对企业营销
  • 江苏省建设斤网站在哪网站开发软件
  • 免费的个人网站html代码沈阳网站建设搭建
  • 个人二级网站怎么做互联网排名前100的公司
  • 网站集约化建设试点食品代理网
  • 建网站程序郑州专业做网站的公司
  • 如何在各个购物网站之间做差价国内比较好的wordpress
  • 网站建设+设计那种连接线厂家莱芜二手房网站
  • centos7怎么做网站服务器常用网站开发工具介绍
  • 网站建设时 网站信息可以边建设边组织中国建设工程网官方网站
  • 网站建设 中企动力 顺德ui设计师面试自我介绍
  • 企业网站建设项目计划书南阳响应式网站
  • 杭州做网站哪家好网络公关在哪些方面能发挥作用