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

做精酿啤酒购买的网站ui设计培训班怎么样

做精酿啤酒购买的网站,ui设计培训班怎么样,深圳团购网站设计,电脑网页传奇目录 1.类和对象的定义 2.关键字new 3.this引用 4.对象的构造及初始化 5.封装 //包的概念 //如何访问 6.static成员 7.代码块 8.对象的打印 1.类和对象的定义 对象:Java中一切皆对象。 类:一般情况下一个Java文件一个类,每一个类…

目录

1.类和对象的定义 

2.关键字new

3.this引用

4.对象的构造及初始化

5.封装

//包的概念

//如何访问

6.static成员

7.代码块

8.对象的打印


1.类和对象的定义 

对象:Java中一切皆对象。

类:一般情况下一个Java文件一个类,每一个类对应一个字节码文件(*.class)

       1)字段 / 属性 / 成员变量:定义在类中,方法的外面;2)方法

类似于C语言的结构体。

成员变量未初始化时都有一个默认值:引用类型默认值为null;int类型默认值为0;float类型默认值为0.0f;char类型默认值为'\u0000';boolean类型默认值为false 

class WashMachine{//类//字段/属性/成员变量public String brand;public String type;public double weight;public double length;public double height;public String color;//成员方法public void washClothes(){System.out.println("洗衣功能");}public void dryClothes(){System.out.println("脱水功能");}public void setTime(){System.out.println("定时功能");}
}

注意:

1> idea中如何打开当前类所在文件夹:*. java + 右键 +Open in +  Explorer;

2>  当类由public修饰时,类名必须和文件名一致;

3> 不要轻易去修改public修饰的类的名称,若要修改:文件名 + 右键 + Refactor + Rename;

4> 类中的方法不需要static修饰。

2.关键字new

public static void main(String[] args) {WashMachine washmachine1 = new WashMachine();WashMachine washmachine2 = new WashMachine();//赋值washmachine1.brand = "海尔";washmachine2.brand = "小天鹅";//washmachine:引用变量,存了对象的地址——>实例化对象System.out.println(washmachine1.brand);System.out.println(washmachine2.brand);washmachine1.washClothes();washmachine2.washClothes();
}

注意:

1> 可以使用关键字new实例化多个对象;

2> 同一个类可以创建多个实例;

3> 使用 . 来访问对象中的属性和方法。

3.this引用

public class TestDate {public int year;public int month;public int day;public void setDate(int y,int m,int d){//谁调用了setDate,this就是谁this.year = y;this.month = m;this.day = d;}public void printDate(){//要习惯加上thisSystem.out.println(this.year+"年"+this.month+"月"+this.day+"日");}public static void main(String[] args) {//main方法可以定义在类当中//定义TestDate testDate1 = new TestDate();TestDate testDate2 = new TestDate();TestDate testDate3 = new TestDate();//赋值testDate1.setDate(2000,2,28);testDate2.setDate(2022,12,21);testDate3.setDate(2023,3,12);//打印testDate1.printDate();testDate2.printDate();testDate3.printDate();}
}

注意:

1> this对应类型引用,哪个对象调用就是哪个对象的引用类型;

2> this只能在普通成员方法中使用,静态成员方法(static修饰)中不能使用

3> 在成员方法中,this只能引用当前对象,不能再引用其他对象;

4> this时成员方法第一个隐藏的参数,编译器会自动传递。

4.对象的构造及初始化

普通方法:返回值+方法名+(参数列表)+ {方法体}

构造方法:没有返回值且方法名必须和类名保持一致

//注意方法名与类名一致!!!
public TestDate(){System.out.println("没有参数的构造方法");
}
public TestDate(int year,int month,int day){ //两个方法构成了重载this.year = year;this.month = month;this.day = day;System.out.println("有3个参数的构造方法");
}

注意:

1> 构造方法可以重载(方法名均为类名);

2> 构造方法一个都没写的情况下,编译器会帮你默认生成一个不带参数的构造方法;但当你写了其中任意一种构造方法,其它构造方法编译器不会帮你生成;

3> 构造方法一定会被调用,具体调用哪个构造方法得看有没有相应的参数;

3> 一个对象的产生至少有以下2步:为对象分配内存,调用合适的构造方法;

4> idea自动生成构造方法:右键 + Generate + Constructor + 自选

5> 可在构造方法中使用this()来调用另一个构造方法且必须放在第一行,但是不能自己调用自己 。

class Student{public String name;public int age;public Student(){ //此为没有参数的构造方法this("wangwu",20);//this()必须放在第一行System.out.println("调用第一个");this.print();//利用this调用其他成员方法,可以不放在第一行}public Student(String name,int age){//此为有两个参数的构造方法this.name = name;this.age = age;System.out.println("调用第二个");}public void print(){System.out.println("姓名:"+this.name+"年龄:"+this.age);//注意这里不加this输出 姓名:null年龄:0}
}
public class Test {public static void main(String[] args) {Student student1 = new Student();//调用上面第一个构造函数student1.name = "zhangsan";student1.age = 18;Student student2 = new Student("lisi",19);//调用上面第二个构造函数student2.print();}
}

5.封装

面向对象程序三大特性:封装、继承、多态。这里先介绍封装的概念。

定义:将类的实现细节进行隐藏,类外看不见数据,实现了类的安全性。

注意:defaule是什么都不写时的默认权限

访问限定符
No范围privatedefaultprotectedpublic
1同一包中的同一类
2同一包中的不同类×
3不同包中的子类××
4不同包中的非子类×××

//包的概念

定义:多个类收集在一起成为一组,称为软件包,类似于目录。

导入:可以让编译器自动导入,也可以手动导入。

通配符*:可以充当任何类。如util.* 不是导入util下的所有类,而是用到哪个类就用哪个类。

但是当使用的类在多个包中都有时,需要手动导入。非必要不用*。

自定义包:在文件最上方加上一个package语句指定改代码在哪个包中。

//如何访问

前面我们说了用private修饰之后,类外就不能使用类内的变量了,那无法访问有什么意义呢?别急,强大的idea可以帮我们用另一种方法访问:

class Student{private String name;//私有,无法在类外访问private int age;//同上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 class Test {public static void main(String[] args) {Student student = new Student();student.setName("wangwu");//利用setName和getName访问System.out.println(student.getName());student.setAge(20);System.out.println(student.getAge());}
}

6.static成员

特点:1)修饰成员变量或方法,称为类变量/静态成员变量或类方法,不能修饰局部变量;

           2)不依赖对象,不需要new对象,所有对象共用一份

           3)静态方法内部不能调用非静态方法,不能使用this,无法重写;

           4)存储在方法区当中,生命周期伴随类的一生。

访问方式:虽然可以但是不建议通过对象来引用访问,而是通过类名访问

class Student{private String name;//普通成员变量,每个对象都有一份private int age;//普通成员变量public static String classroom = "301";//被static修饰,称为类变量/静态成员变量,所有对象共用一份public Student(String name, int age) {this.name = name;this.age = age;}public static void func() {System.out.println("func……");}
}
public class Test {public static void main(String[] args) {Student student1 = new Student("zhangsan",20);Student student2 = new Student("lisi",21);Student student3 = new Student("wangwu",22);//这些对象都可以不new,不影响类变量和类方法的调用/*System.out.println("教室是"+student1.classroom);//结果是一样的System.out.println("教室是"+student2.classroom);System.out.println("教室是"+student3.classroom);*///虽然可以但是不建议通过对象来引用访问System.out.println("教室是"+Student.classroom);//而是通过类名直接访问;Student.func();}
}

7.代码块

分类:静态代码块实例代码块,同步代码块,普通代码块

注意:

1)顺序:静态代码块 > 构造代码块 > 构造方法 ;

2)静态代码块不管生成多少个对象,都只执行一次

3)如果一个类中包含多个静态代码块,编译器会按照顺序依次执行。

class Student {private String name = "lisi";private int age;{this.name = "zhangsan";//按顺序执行这一行代码,名字为zhangsanSystem.out.println("构造块!");}static {classroom = "201";System.out.println("静态代码块!");}public static String classroom = "208";//按顺序执行这一行代码,班级为208public Student() {System.out.println("调用不带参数的构造方法!");}public Student(String name, int age) {this.name = name;this.age = age;System.out.println("调用带两个参数的构造方法!");}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 class Test {public static void main(String[] args) {Student student = new Student();System.out.println(Student.classroom);//208System.out.println(student.getName());//zhangsan}
}

 

8.对象的打印

编译器自己生成(方法重写):右键 + Generate + toString() + 自选

class Student {public String name;public int age;public Student(String name, int age) {this.name = name;this.age = age;}@Override//方法重写,重写了toString方法public String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +'}';}public void print() {System.out.println("姓名:"+this.name+" 年龄:"+this.age);}
}
public class Test {public static void main(String[] args) {Student student = new Student("zhangsan",20);System.out.println(student);//没重写时,打印student的地址student.print();//正常调用上面的成员方法}
}

 


Over!继承和多态见!!

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

相关文章:

  • 网站开发期间账务处理基础微网站开发代理商
  • 学校网站的作用wordpress 外链背景图
  • 网站建设叁金手指花总8哪里有做网站的公司
  • 新开传奇网站手机版东京购物商城
  • 网站建设需求分析写什么百度搜索排行榜风云榜
  • 做网站的策划方案推荐一些做网站网络公司
  • 宁夏交通厅建设局网站如何做视频网站
  • 代做课程设计的网站前端响应式
  • dede淘宝客网站前端课程网站
  • 企业建设网站 入账留电话的广告网站
  • 网站创建公司如何缩小wordpress文字边距
  • 怎么刷网站点击量网站内容管理规范
  • 零基础学习做网站温州做网站公司有哪些
  • 制作商城网站开发商建设审批网站
  • 建设营销型网站模板深圳坂田做网站
  • 网站建设实用的网站长沙做网站费用
  • 建设网站有哪些参考文献内容导购网站模板
  • 网站做扫一扫专门做中文音译歌曲的网站
  • 太原网站优化多少钱php网站修改代码
  • 做网站如何推广怎么开微信商城
  • 国内做网站群平台的公司宁波网站建设大概要多少钱
  • 北京建工博海建设有限公司网站化妆品瓶子怎么做网站
  • 青州网站搭建wordpress可以上传网页
  • 有关建设网站的论文南乐网站建设费用
  • 网站建设有关的职位wordpress 极验
  • 建设医院网站ppt重庆建设厅网站公示公告栏
  • 想找做海报的超清图片去哪个网站找ai智能营销系统
  • 建设公司双网注册苏州seo网站系统
  • 苏州网站建设营销推广做卷闸门网站有用吗
  • 青山湖网站建设高密专业网站建设价格